【发布时间】:2019-07-20 09:07:03
【问题描述】:
我也使用了清单文件中的权限和运行时的权限。 但我仍然得到错误
“LocationManager.requestLocationUpdates 所需的权限缺失:android.permission.ACCESS_COARSE_LOCATION 或 android.permission.ACCESS_FINE_LOCATION 检查信息:此检查扫描您的代码和库并查看正在使用的 API,并根据访问这些 API 所需的权限集进行检查。如果在运行时调用使用这些 API 的代码,则程序将崩溃。此外,对于可撤销的权限(使用 targetSdkVersion 23),如果用户在运行时拒绝权限请求,客户端代码还必须准备好处理引发异常的调用。 问题 ID:MissingPermission"
我使用的是 Android Studio 3.4.1
清单文件:
<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_NETWORK_STATE" />
在活动中:
public void getLocation()
{
try {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.PASSIVE_PROVIDER, 5000, 5, this);
}
catch(SecurityException e) {
e.printStackTrace();
}
}
在 onCreate() 方法中:
if (ContextCompat.checkSelfPermission(getApplicationContext(),android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getApplicationContext(),android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION,android.Manifest.permission.ACCESS_COARSE_LOCATION}, 101);
}
请帮帮我。我浏览过与此相关的帖子,但对我一点帮助都没有。
【问题讨论】:
-
您是否尝试过执行此SO answer 中的所有步骤?
-
是的,我试过了,但还是不行