请选择 进入手机版 | 继续访问电脑版

[App引擎] uiMode 这个api的判断依据是什么啊

[复制链接]
不开发 发表于 2022-1-27 08:44:18
uiMode的判断依据是什么啊

我们这里测试两个同样型号同样系统的HUIWEI平板,型号VRD-AL09 Build/HUAWEIVRD-AL09,鸿蒙系统

一个能正常返回的结果为 pad 另一个却识别不出来 pad

6条回复

技术支持-F 管理员 26214Y币
识别不出的,返回什么
不开发 马路杀手 454Y币
识别为 phone
技术支持-F · 2022-1-27 10:40识别不出的,返回什么
常山赵子云 管理员 6292Y币
识别依据是:
首先通过获取系统Configuration中的screenLayout进行判断,如果是SCREENLAYOUT_SIZE_LARGE模式,则认为是pad(这是google提供的标准判断)。
如果此处判断不通过,则通过获取当前系统的UiMode进行判断,该模式会返回phone、desk、car、tv等标识当前设备是手机、桌面、车载、电视等模式。
如果以上都判断失败,会默认返回phone。

国内手机厂商可能会对以上模式进行定制,导致判断失败,因此这个没有通用并且100%准确的方法。可以通过给你的应用内置一个pad名单的方式进行弥补,将那些判断失败的设备,统一放到这个名单中,你判断设备是否是pad的时候,先从这个名单取,如果没有再使用api.uiMode。
不开发 马路杀手 454Y币
怎么添加设备名单?通过什么方式
常山赵子云 · 2022-1-27 12:58识别依据是:
首先通过获取系统Configuration中的screenLayout进行判断,如果是SCREENLAYOUT_SIZE_LARGE模式,则认为是pad(这是google提供的标准判断)。
如果此处判断不通过,则通过获取当前系统的UiMode进行判断 ...
不开发 马路杀手 454Y币
内置pad名单,通过什么内置
常山赵子云 · 2022-1-27 12:58识别依据是:
首先通过获取系统Configuration中的screenLayout进行判断,如果是SCREENLAYOUT_SIZE_LARGE模式,则认为是pad(这是google提供的标准判断)。
如果此处判断不通过,则通过获取当前系统的UiMode进行判断 ...
常山赵子云 管理员 6292Y币
自己代码中写个列表。
不开发 · 2022-1-27 14:53内置pad名单,通过什么内置
您需要登录后才可以回帖 登录

本版积分规则