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

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

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

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

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

【问题讨论】:

标签: android cordova meteor device-detection


【解决方案1】:

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

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

【讨论】:

【解决方案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
猜你喜欢
  • 2011-09-09
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
  • 2012-02-20
  • 2023-03-30
相关资源
最近更新 更多