大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述Android - 由于设置撤销了位置权限导致应用崩溃相关的知识,希望能为你提供帮助。
我们正在使用android后台服务进行位置跟踪,注册融合的谷歌API以进行定期更新。当我们开始为位置更新服务时,我们要求位置许可,如果用户接受,那么我们开始服务并注册融合的谷歌api。
但是现在问题是,一旦用户接受了权限并且注册了位置更新的融合位置api,以后用户就从应用程序的设备设置中撤消了位置许可。用户执行此操作后,应用程序将因崩溃而崩溃
java.lang.SecurityException:客户端必须具有ACCESS_FINE_LOCATION权限才能请求PRIORITY_HIGH_ACCURACY位置。如何处理这种情况?
答案【Android - 由于设置撤销了位置权限导致应用崩溃】在主活动中添加此方法,并在
onCreate()
方法中调用它;
public boolean havePermission() {
if (Build.VERSION.SDK_INT >
= 23) {
if (checkSelfPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED &
&
checkSelfPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
return true;
} else {
ActivityCompat.requestPermissions(this , new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 1);
return false;
}
}
else {
return true;
}
}
并且不要忘记在manifest.xml中添加这两个权限
推荐阅读
- 在Android工作室中没有错误,应用程序仍然在打开时崩溃
- /system/lib/libc.so,libgstreamer_android.so上的本机崩溃
- Android LicenseChecker因空指针异常而崩溃
- Kivy Android Sqlite3使应用程序崩溃时出现“没有这样的模块”错误
- Xamarin安卓应用程序在启动时与BroadcastReceiver崩溃但是启动了吗()
- 在Android Developer Console上崩溃和ANR
- setOnClickListener导致APP崩溃
- MessagingAnalytics中的Android Firebase崩溃
- react-native app在启动屏幕上崩溃