【发布时间】:2017-04-20 14:20:57
【问题描述】:
我在 Activity 中请求 ACCESS_FINE_LOCATION 的权限,除非用户批准此权限,否则没有任何意义,因此如果用户拒绝此权限,我将关闭 Activity。问题是,一旦用户选择了 “不再询问” 选项来拒绝请求,我不知道如何重置该状态并在将来用户改变主意时再次询问。
private void loadLocPredictions() {
//ToDo clean the permission thingy up.
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
PERMISSIONS_REQUEST_FINE_LOCACTION);
return;
}
// Do stuff...
}
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case PERMISSIONS_REQUEST_FINE_LOCACTION: {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
loadLocPredictions();
} else {
finish();
}
return;
}
}
}
【问题讨论】:
标签: android android-6.0-marshmallow android-permissions user-permissions