设备检测是不是是android?

Posted

技术标签:

【中文标题】设备检测是不是是android?【英文标题】:Device detection if is android?设备检测是否是android? 【发布时间】:2015-11-11 22:53:34 【问题描述】:

我有一个为 iosandroid 设备部署的流星应用程序,我希望某些代码仅在 ios 设备上运行,而不是在 android 上运行。我知道我可以使用 navigator.userAgent 检测设备,但这只有在我的应用程序在浏览器上运行时才有效。

//如果它是浏览器,则可以使用

navigator.userAgent.toLowerCase().indexOf("android") > -1;

但是,如果我使用流星科尔多瓦插件为 android 创建了捆绑包,是否有任何可能的方法来检测设备,这样它就可以像本机应用程序一样工作。

【问题讨论】:

您尝试过 Device API 吗?您可以检查 if(device.platform == 'Android') Meteor device detection android or ios? 的可能重复项 【参考方案1】:

正如 Nijil Nair 建议的那样,使用 Cordova Device Plugin 。如果您在添加插件时需要帮助,请参阅 Meteor Cordova 。正确安装插件后,您可以使用var devicePlatform = device.platform;,它将根据设备返回以下内容之一:

“安卓” “黑莓” “iOS” “WinCE”

【讨论】:

Meteor Cordova 链接已移至:guide.meteor.com/mobile.html#introduction 并非所有版本的 Windows 都返回 WinCE,请查看 this 了解更多信息。【参考方案2】:

没有插件的原因,只是使用窗口。

window.cordova.platformId

您还可以获取操作系统的版本。

完整输出:

window.cordova.platformId

“机器人”

window.cordova.platformVersion

“7.0.0”

【讨论】:

这个字段的文档在哪里?如何检查哪些值是可能的? 使用安全吗?我们可以依靠这个吗? @PlsWork 使用安全。一个新创建的 Cordova 项目有这行:console.log('Running cordova-' + cordova.platformId + '@' + cordova.version); 检查cordova-app-hello-world 包。还可以在 Cordova 项目的“平台”文件夹中搜索“platformId:platform.id”,您将在各种平台中看到它,例如android/platform_www/cordova.js 或 ios/www/cordova.js

以上是关于设备检测是不是是android?的主要内容,如果未能解决你的问题,请参考以下文章

Android 检测设备是不是为模拟器

Android:以编程方式检测设备是不是有硬件菜单按钮

检测 Android/iOS 设备是不是已经通过 Unity3D 播放音乐

使用移动网页检测设备上是不是已安装 Android 应用 - PHP 和 JS

Android检测设备是不是有root权限

如何在 iOS 和 Android 的给定时间检测用户是不是仅在一台设备上处于活动状态