非必要的许可检查?

时间:2015-10-12 13:49:38

标签: android permissions

ello,我正在尝试编写以下函数:

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是一个在权限被拒绝时弹出的框) 我该如何解决这个错误?

1 个答案:

答案 0 :(得分:0)

用户可以拒绝您的许可,这就是为什么android studio建议你需要检查它是否被授予。

您可以通过在清单中添加以下内容来确保您的应用具有权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

或者继续使用请求/检查权限方法,但是,如果未授予权限,则让用户重试,但这是至关重要的。