是否有正确/推荐的方法来检测我在手机上运行的 UWP 应用程序?

2024-04-04

使用 JavaScript 尝试 Windows 通用应用程序时我注意到WinJS.Utilities.isPhone https://msdn.microsoft.com/en-us/library/windows/apps/dn607959.aspx属性不再可用,这是有道理的,因为没有理由在运行时请求该属性。

我确实想知道是否有正确的方法来检测我的应用程序正在运行的设备,只是出于测试目的。

EDIT:我的问题不是关于检测移动浏览器。我说的是适用于 Window 10 的全新通用 Windows 应用程序,它可以在手机、台式机、平板电脑、Xbox、HoloLEns、物联网设备等上运行。 WinJS 有一个属性可以告诉我是否在手机上运行。该财产现已消失。请不要关闭此问题,因为它与“检测移动浏览器”重复。那不是我需要的。


警告:由于硬件的动态特性,任何形式的设备检测都是脆弱的 - 明天可能会出现一个新设备,从而破坏您的应用程序的逻辑。最好仅将这些 API 用于遥测/分析,而不是触发运行时行为。

通常,您真正想知道的是设备或应用程序的某些属性not本质上与设备系列相关(该设备是否支持SystemTrayAPI?有附键盘吗?窗口宽度是否超​​过 500 像素? ETC。)。

也就是说,在 Windows 10 中您可以查询DeviceFamily via AnalyticsInfo.VersionInfo.DeviceFamily https://msdn.microsoft.com/en-us/library/windows/apps/windows.system.profile.analyticsinfo.aspx它会告诉您诸如“移动”或“桌面”或“Xbox”等信息(其中“移动”可以是任何类别的设备 - 手机、平板电脑等)。还有一处房产DeviceForm that might很有帮助,但同样,您不能在运行时真正依赖它来确定您正在“手机”上运行。

所以基本上答案是“您可以使用这些 API 进行遥测,但不要将任何值硬编码到您的应用程序中,以免新设备上市时应用程序崩溃。”至少,始终确保处理返回值不是您先验知道的值的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有正确/推荐的方法来检测我在手机上运行的 UWP 应用程序? 的相关文章

随机推荐