私はACCESS_FINE_LOCATIONのアクセス許可を要求しています。これは、ユーザーがこのアクセス許可を承認しない限り意味がないため、ユーザーがこれを拒否した場合、私はアクティビティを終了します。問題は、ユーザーが「再度質問しない」オプションを選択して要求を拒否すると、その状態をリセットして、ユーザーが自分の考えを変えた場合に、今後再度尋ねる方法がわかりません。事前に任意の助け「もう一度やり直してください」オプションを使わずに許可ダイアログを要求するにはどうすればよいですか?
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;
}
}
}
感謝。私はおそらく、ここではなかなか些細なもの、あるいはただのコーヒーが欠けているでしょう。そのような場合は、私には下線を引いてください。