checkselfpermission崩溃的应用程序

时间:2016-01-13 05:56:32

标签: android sdk android-permissions location-services

我想通过gps获取位置和地址但是在sdk 23中,当我通过app启用gps时,checkselfpermission崩溃应用程序。

if (locationManager.isProviderEnabled(provider)) {
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        locationManager.requestLocationUpdates(provider,
            MIN_TIME_FOR_UPDATE, MIN_DISTANCE_FOR_UPDATE, this);
        if (locationManager != null) {
            location = locationManager.getLastKnownLocation(provider);
            return location;
        }
    }
}

提前感谢您的帮助,这是发生的例外情况,

    01 - 13 11: 19: 37.581 9103 - 9103 / com.example.user.geo E / AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.user.geo, PID: 9103
java.lang.NullPointerException
    at android.content.ContextWrapper.checkPermission(ContextWrapper.java: 545)
    at android.support.v4.content.ContextCompat.checkSelfPermission(ContextCompat.java: 387)
    at com.example.user.geo.AppLocationService.getLocation(AppLocationService.java: 32)
    at com.example.user.geo.MyActivity$1.onClick(MyActivity.java: 39)
    at android.view.View.performClick(View.java: 4470)
    at android.view.View$PerformClick.run(View.java: 18773)
    at android.os.Handler.handleCallback(Handler.java: 808)
    at android.os.Handler.dispatchMessage(Handler.java: 103)
    at android.os.Looper.loop(Looper.java: 193)
    at android.app.ActivityThread.main(ActivityThread.java: 5341)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java: 515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: 830)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 646)
    at dalvik.system.NativeStart.main(Native Method)

0 个答案:

没有答案