Ich arbeite an einer App, die vom Benutzer mehrere Berechtigungen benötigt (Standort, externer Speicher, Kamera und Telefonzustand). Wenn ich die Anforderungen nacheinander stelle, wird dem Benutzer nur einer gebeten, wenn ich die App ausführe. Dies ist ein Problem: < /p>
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
//ask for the location permission
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}, 123);
}
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
//ask for the location permission
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.CAMERA}, REQUEST_CAMERA);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED
|| ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
PERMISSION_EXTERNAL, REQUEST_EXTERNAL_STORAGE);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)!= PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_PHONE_STATE);
}
< /code>
Wenn Sie mehrere Tests mit allen Berechtigungsanfragen erstellen, die erforderlich sind.ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.CAMERA,Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.READ_PHONE_STATE}, REQUEST_MULTIPLE);
< /code>
und es funktioniert, es stapelt all die verschiedenen Anforderungen nacheinander. Wenn ich die App erneut ausführte, wird nicht erneut gefragt, da die Berechtigungen gewährt wurden, und wenn ich eine der Berechtigungen manuell entferne, bittet die App nur, wenn ich es mit der Überprüfung der Prüfung verwendete. Gibt es ein Risiko, das ich verpasst habe oder der mir nicht bewusst ist?
Nutzung der ChecksFermission in Android? ⇐ Android
-
- Similar Topics
- Replies
- Views
- Last post