【发布时间】:2022-08-13 20:35:16
【问题描述】:
尝试使用地理围栏位置,但在选择地理围栏区域时应用程序崩溃。 ACCESS_COARSE_LOCATION 和 ACCESS_FINE_LOCATION 权限已在清单文件中声明,但在启动应用程序时,它不会请求允许该权限。
代码
private void enableUserLocation(){
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED){
mMap.setMyLocationEnabled(true);
}
else {
if(ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION)){
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, FINE_LOCATION_ACCESS_REQUEST_CODE);
}
else {
if(ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION)) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, FINE_LOCATION_ACCESS_REQUEST_CODE);
}
}
}
}
AndroidManifestXml 代码:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"
xmlns:tools=\"http://schemas.android.com/tools\"
package=\"com.example.quarantinemonitoringapp\" >
<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" />
<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" />
<uses-permission android:name=\"android.permission.INTERNET\" />
<uses-permission android:name=\"android.permission.ACCESS_BACKGROUND_LOCATION\" />
截屏
-
那是一个 Lint 警告,可能有一些错误。应用程序是否正确运行?
-
不,它在选择位置时崩溃。
-
使用 Logcat 检查与崩溃相关的堆栈跟踪。
标签: java android geolocation android-manifest