当前位置:  开发笔记 > Android > 正文

从Android的LocationManager请求getLastKnownLocation时为空指针

如何解决《从Android的LocationManager请求getLastKnownLocation时为空指针》经验,为你挑选了0个好方法。

我在android 21及更高版本上出现以下错误。

我遇到以下错误,并且对该错误的制造商或型号没有限制。

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] android.content.pm.PackageManager.getPackagesForUid(int)' on a null object reference
    at android.os.Parcel.readException(Parcel.java:1605)
    at android.os.Parcel.readException(Parcel.java:1552)
    at android.location.ILocationManager$Stub$Proxy.getLastLocation(ILocationManager.java:717)
    at android.location.LocationManager.getLastKnownLocation(LocationManager.java:1200)
    at [...]

触发错误的调用是以下一种:

mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
mLocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

我事先检查mLocationManager是否不为null或我是否具有必要的权限。它适用于大多数情况,但确实有一些崩溃的情况。

有谁知道该怎么做才能避免发生这种情况,或者是否有任何方法可以检测到发生这种情况,所以我不要求该位置?

感谢您的关注,

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有