private int GetTwoLocationsAndDistance(Location location1, Location location2) {
if (location1 == null) {
location1 = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
location 2 = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}
else {
location1 = location2;
location2 = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}
return int Distance;
}
(location1和location2都被初始化为null)
此处出现一条错误消息,指出可能需要执行权限。 但我已经要求获得onCreate()的许可;与
eif (pm.checkPermission(permission.ACCESS_FINE_LOCATION, getPackageName()) == PackageManager.PERMISSION_DENIED) {
alertboxGPS();
}
(alertboxGPS是一个在权限被拒绝时弹出的框) 我该如何解决这个错误?
答案 0 :(得分:0)
用户可以拒绝您的许可,这就是为什么android studio建议你需要检查它是否被授予。
您可以通过在清单中添加以下内容来确保您的应用具有权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
或者继续使用请求/检查权限方法,但是,如果未授予权限,则让用户重试,但这是至关重要的。