Ich denke, es ist ein Fehler shouldShowRequestPermissionRationale
Android sollteShowRequestPermissionRationale einen Fehler haben?
-Code ist ...
@Override
protected void onResume() {
super.onResume();
if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_DENIED &&
ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_DENIED) {
if(ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION) ||
ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION)) {
new AlertDialog.Builder(this)....show();
} else {
// do something...
}
die App zum ersten Mal installiert, Wir erlauben keine Erlaubnis. Wenn onResume aufgerufen wird, sollte AlertDialog angezeigt werden. Aber es erscheint nicht ...
Wenn wir in die Einstellung der App gehen, und erlauben Sie die Erlaubnis. Also spielen wir den App-Code (// do something
). Wieder gehen wir in die Einstellung der App, verweigern die Erlaubnis. Und wir starten die App neu, AlertDialog erscheint.
Warum läuft die App so?
'shouldShowRequestPermissionRationale()' wird nur wahr zurück, wenn Sie ** NICHT HABEN ** das Kontrollkästchen aktiviert, die mich nicht noch einmal fragen –
sagt nicht tat ich die Checkbox. – fasdgoc
@fasdgoc Siehe [dies] (http://stackoverflow.com/a/34612503/3117966) für weitere Informationen – Nisarg