【问题标题】:OnLocationStateChange cordova application crashesOnLocationStateChange 科尔多瓦应用程序崩溃
【发布时间】:2016-06-11 06:56:09
【问题描述】:

我正在使用的应用程序基本上是使用cordova地理定位插件获取用户位置,然后在谷歌地图上显示位置。

我面临的问题是,当我终止应用程序并从设置中关闭/打开位置服务时,应用程序崩溃了。

java.lang.RuntimeException:无法启动接收器 cordova.plugins.Diagnostic$LocationProviderChangedReceiver:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void cordova.plugins.Diagnostic.notifyLocationStateChange()”

原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void cordova.plugins.Diagnostic.notifyLocationStateChange()”

这是我直接从 Android Studio 运行应用程序后得到的错误屏幕截图

我也在使用诊断插件,因为我正在 API 23 i-e Marshmallow 上测试应用程序,这需要运行时权限。如果我删除诊断插件,应用程序会在 Marshmallow 上启动时立即崩溃。

该应用程序在低于 23 的 API 上运行,并且当我打开/关闭位置服务时它也不会崩溃。

欢迎提出建议/建议。

【问题讨论】:

    标签: android ios cordova phonegap-plugins cordova-plugins


    【解决方案1】:

    这在plugin repo 中被标记为issue #85,并已通过补丁版本cordova.plugins.diagnostic@3.0.4 解决:

    $ cordova plugin rm cordova.plugins.diagnostic && 
      cordova plugin add cordova.plugins.diagnostic@latest
    

    【讨论】:

    • 感谢您的回答,我将对此进行测试并让您知道结果。顺便说一句,我也通过放置这个实例 = new Diagnostic(); 来解决这个问题。就在这个 instance.notifyLocationStateChange(); 之前
    • 我刚刚重新阅读了您的问题 - 所以当应用程序未运行时会发生崩溃,我认为这与 #80 中修复的问题不同,该问题发生当应用程序运行时。我会调查的...
    • 是的,正是当我杀死应用程序并打开/关闭位置服务应用程序崩溃时。
    • 我已将其添加为新的issue #85
    • 我想这个错误很快就会被修复
    猜你喜欢
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多