Hallo,
daß die APP abbricht, wenn der User die Permissions (bei mir Telefonzugriff, Nummer) nicht erlaubt hat kann ich mit finish() regeln.
Beim nächsten Start möchte ich aber wieder nach der Erlaubnis für den Zugriff fragen. Ich möchte aber nicht immer abbrechen, sondern wiederholt fragen.
Bis jetzt scheint er sich zu merken, daß der User den Zugriff nicht will und übergeht weitere nachfragen.
Kann man das überhaupt regeln , wenn ja wie ?
Code
if (ActivityCompat.checkSelfPermission(this, READ_PHONE_NUMBERS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{READ_PHONE_NUMBERS}, PERMISSION_REQUEST_CODE);
} else {
telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
.......
}
}
@RequiresApi(api = Build.VERSION_CODES.P)
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case PERMISSION_REQUEST_CODE:
if ( ActivityCompat.checkSelfPermission(this, READ_PHONE_NUMBERS) != PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(this, READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
// ..... hier könnte man eventuell die Wiederholung vorbereiten nicht nur finish()//
} else {
telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
phoneNumber = telephonyManager.getLine1Number();
......
}
}
}
Alles anzeigen