HarmonyOS鸿蒙Next中应用上架的时候能否选择具体支持那些设备?
HarmonyOS鸿蒙Next中应用上架的时候能否选择具体支持那些设备? 应用上架的时候能否选具体支持那些设备? 比如应用只适配了手机,但是手机设备的形态太多了,不支持折叠屏和三折叠的设备,这些设备能不能剔除掉? 还是说说所以手机设备都要能适配?
- 可以选支持哪些设备,开发者完成HarmonyOS应用开发、调试与测试后,可以在AGC正式提交应用上架申请。申请上架可以配置支持设备,在“基本信息”区域的“支持设备”栏勾选手机时,表示支持直板机与折叠屏。
- 手机和折叠屏、PAD是同步兼容的,需要尽量保证应用在设备上不能显示异常。
如果你暂时不做折叠屏、PAD适配,屏蔽方案如下:
开发者登录互动中心申请屏蔽。
- 登录AppGallery Connect平台,点击右边用户信息框里的“互动消息”进入互动中心;
- 在互动中心依次点击“加号”->“反馈”,进入新建问题反馈界面;
- 写清楚需要屏蔽的应用设备信息,并点击“提交”按钮。屏蔽内容格式参考如下: 应用ID:(APPID) 应用名称:(XXX) 屏蔽设备:(Mate X5、Mate X6、Pocket 2、Pura X系列设备) 屏蔽理由:(xxxxx)
- 点击“召唤人工”,咨询进展情况,此时工单才走到后台处理。等待互动中心反馈结果。
更多关于HarmonyOS鸿蒙Next中应用上架的时候能否选择具体支持那些设备?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
支持什么设备是开发者在开发时自行确定的,与使用的API有关
建议看下官网:
https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-multi-device-overview
不行,官方没有这种指定折叠屏的功能,但是可以通过监听折叠设备状态变化
做好兼容的处理:
let isFoldableDevice: boolean = false;
try {
isFoldableDevice = display.isFoldable();
// 打印此设备是否为折叠设备
hilog.info(DOMAIN, 'DisplayTest', `This device is foldable: ${isFoldableDevice}`);
} catch (exception) {
hilog.error(DOMAIN, 'DisplayTest',
`Failed to get foldable message. Code: ${exception.code}, message: ${exception.message}`);
}
可通过display.off(‘foldStatusChange’)关闭对应的监听。
/**
* 注册监听的callback参数要采用对象传递.
* 若使用匿名函数注册,每次调用会创建一个新的底层对象,引起内存泄漏问题。
*/
let callback: Callback<display.FoldStatus> = (data: display.FoldStatus) => {
hilog.info(DOMAIN, 'DisplayTest', 'Listening enabled. Data: ' + JSON.stringify(data));
};
try {
display.on('foldStatusChange', callback);
// 如果通过on注册多个callback,同时关闭所有callback监听
hilog.info(DOMAIN, 'DisplayTest', `register foldStatusChange success`);
// 关闭单个callback监听
display.off('foldStatusChange', callback);
hilog.info(DOMAIN, 'DisplayTest', `unregister all foldStatusChange success`);
// 关闭所有callback监听
display.off('foldStatusChange');
hilog.info(DOMAIN, 'DisplayTest', `unregister foldStatusChange success`);
} catch (exception) {
hilog.error(DOMAIN, 'DisplayTest',
`Failed to register/unregister callback. Code: ${exception.code}, message: ${exception.message}`);
}
背景知识:
目前支持以下设备:
- 标准设备列表(适用于分发到中国大陆地区):
- 手机(Phone)
- 平板(Tablet):如果应用包声明支持平板,直接勾选;否则,手机应用会默认以兼容模式分发到平板。
- PC/2in1(笔记本电脑/二合一设备):系统自动测试后默认分发,无需额外勾选,但需注意其交互差异。
- 智慧屏(Smart Screen):支持遥控器操作。
- 智能手表(Smart Watch)
- 运动手表(Sports Watch)
在创建app应用的时候可以进行选择:

注意:
设备修改限制:在首次上架前,您可以随时更改设备类型(如从单设备改为多设备)。但一旦应用发布:
- 升级版本时,只能增加新设备类型,不能删除已有设备(例如,如果您初始选择了手机,升级时可以添加平板,但不能移除手机)。
- 如果需移除设备,必须创建新应用或联系华为客服处理。
不支持这么细的选择的。只有大类选择。
期待HarmonyOS能继续优化多屏协同功能,让跨设备体验更加完美。
上架APP的时候可以选择的:

不能选择这么细,所有手机和平板都是默认要支持的,2in1等其他设备可以自己选择支不支持
都有适配,而且 会强制上架平板
在HarmonyOS鸿蒙Next中,应用上架时可以选择具体支持的设备类型。开发者可在AppGallery Connect中通过配置设备类型、屏幕尺寸等参数来设定应用兼容范围,确保应用仅对目标设备可见和可安装。
在HarmonyOS Next中,应用上架时可以精确选择并声明所支持的设备类型,这是应用市场分发和用户下载的重要依据。
具体到你的问题:
-
设备类型选择:在将应用上架到华为应用市场时,你需要在应用的元数据中明确勾选其支持的设备类型,例如“手机”、“平板”、“智慧屏”等。如果你的应用仅适配了标准形态的手机,你可以只选择“手机”这一类。
-
同类型设备下的细分管控:对于同一种设备类型(如手机)下的不同形态(如直板手机、折叠屏、三折叠屏),目前应用市场不提供在列表中进行逐一剔除的选项。系统主要依据你选择的“设备类型”进行过滤。
-
关键机制:兼容性配置与运行控制:
- 声明能力要求:你可以在应用的
module.json5配置文件中,通过abilities或extensionAbilities下的skills字段,或使用requestPermissions来声明应用正常运行所必需的特定设备能力(如特定的屏幕形状、铰链角度传感器等)。不具备这些能力的设备在应用市场会被过滤或对用户给出提示。 - 运行时适配与降级:这是开发阶段应完成的核心工作。应用应通过API(如
display.getDefaultDisplaySync().cutoutInfo)动态检测设备实际形态(如是否为折叠屏、折叠状态),并据此提供不同的布局或功能。对于完全不支持的形态,应用可以设计友好的提示界面,告知用户在该设备上可能体验不佳或功能受限。
- 声明能力要求:你可以在应用的
总结: 上架时,你通过选择“设备类型”进行大类控制。对于同一大类下的细分形态(如折叠屏),无法在应用市场列表直接排除,但可以通过声明必要的设备能力来影响市场分发,并必须在应用内部通过代码进行运行时检测与适配,以确保在不支持的设备上有合理的表现。华为应用市场会根据你的配置和用户设备情况进行匹配和推荐。


