Android Developer Documentation dà questo esempio di richiedere permessi in fase di esecuzione:Android runtime permissions- come implementare
// Here, thisActivity is the current activity
if (ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
Manifest.permission.READ_CONTACTS)) {
// Show an expanation to the user *asynchronously* -- don't block
// this thread waiting for the user's response! After the user
// sees the explanation, try again to request the permission.
} else {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.READ_CONTACTS},
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
// MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
// app-defined int constant. The callback method gets the
// result of the request.
}
}
Che cosa è "MY_PERMISSIONS_REQUEST_READ_CONTACTS" In questo esempio? Dice che è una costante int definita dall'app, ma ciò significa che dovrei creare un Constants.java e dichiarare un int statico pubblico? quale dovrebbe essere il valore?
In altri esempi, vedo che le persone usano 1 qui, o 0 o 0xFFEEDDCC, ma non riesco a trovare una spiegazione di cosa sia. Qualcuno può spiegarmi che cosa deve andare qui e perché? (Nel mio caso, ho bisogno di assicurarmi che l'app abbia il permesso di accedere alla posizione fine)
La documentazione di ActivityCompat dice "Codice di richiesta specifico dell'applicazione da abbinare a un risultato segnalato a onRequestPermissionsResult"? Questo non mi aiuta
Eventuali duplicati di [permessi Android - manifesta o android.manifest] (http://stackoverflow.com/questions/34901870/android-permissions-manifest-or-android-manifest) – JpCrow
Puoi controllare una classe che ho creato e usarla in Fragments github.com/mptrista/PermissionHelper È per i frammenti e nel caso in cui richieda una singola autorizzazione. – toshkinl