【问题标题】:PhoneGap on Android window.device is undefinedAndroid window.device 上的 PhoneGap 未定义
【发布时间】:2011-03-03 12:50:52
【问题描述】:

似乎设备对象在 Android 上是未定义的。 在模拟器、iOS设备&iOS模拟器中定义

显然,我正在检查 window.device(并尝试了 Window.device、window.Device 等的所有变体),但总是未定义——但仅限于真正的 Android 设备。 它适用于所有其他场景。

请帮忙。

【问题讨论】:

    标签: android cordova


    【解决方案1】:

    您什么时候尝试使用 window.device?

    我发现在 Android 上,当“ondeviceready”被触发时,window.device 变量还不可用。

    所以我所做的就是在“ondeviceready”被触发后设置一个 1 秒的超时,然后做我想做的所有事情。

    【讨论】:

      【解决方案2】:

      我的问题是,即使我的插件文件夹列出了 org.apache.cordova.device 插件文件夹,并且在 config.xml 中引用了它。当 onDeviceReady 被触发(或其他任何地方)时,我仍然无法找到 window.device(或只是设备)

      我设法修复它的方法是再次运行 $ cordova plugin add cordova-plugin-device,期待“插件已安装”消息,但它实际上已安装到 org.apache.cordova.device 文件夹中,然后一切正常。

      我的文件夹不是空的,所以我不确定为什么会这样,我有点担心当我通过 phonegap-build 部署但使用 $ cordova run android 时会发生什么,它现在可以完美运行了。

      【讨论】:

      • 这在我同时构建 Windows 和 Android 的环境中对我有用。由于某种原因,该插件未在 Android 上注册。
      【解决方案3】:

      检查此代码是否存在:

      <!-- cordova script (this will be a 404 during development) -->
      <script src="cordova.js"></script>
      

      享受吧!

      【讨论】:

        【解决方案4】:

        在PhoneGap 1.4.1 上deviceready 被触发后至少几十个滴答声之后,Android 上肯定不存在设备。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-09-12
          • 2014-02-14
          • 1970-01-01
          • 2014-04-15
          • 2012-04-28
          • 1970-01-01
          • 2014-02-07
          • 2013-07-26
          相关资源
          最近更新 更多