Bei der Entwicklung von Android-Apps leide ich heutzutage häufig unter der Android-Laufzeitberechtigung. Laufzeit mit fügen Sie einfach eine Zeile </ font> hinzu, um diese Laufzeitberechtigung zu unterstützen Ich habe eine Bibliothek erstellt, die mit Berechtigungen umgehen kann. https://github.com/TakuKobayashi/RuntimePermissionChecker Wenn Sie möchten, möchte ich "Sterne" und "Gefällt mir" oder "Teilen" erhalten und verbreiten. M (_ _) m
build.gradle (siehe Bild unten)
Den folgenden Abhängigkeiten von wurden die folgenden Inhalte hinzugefügt
build.gradle
dependencies {
implementation 'net.taptappun.taku.kobayashi:runtimepermissionchecker:1.1.1'
}
Dadurch wird die Bibliothek in Ihr Android-Projekt eingeführt.
Sobald die Bibliothek installiert ist, fügen Sie sie Ihrer Aktivität hinzu, wie im folgenden Beispiel gezeigt.
MainActivity.java
public class MainActivity extends Activity {
private static final int REQUEST_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
RuntimePermissionChecker.requestAllPermissions(this, REQUEST_CODE);
}
}
Dies
RuntimePermissionChecker.requestAllPermissions(Activity activity, int requestCode);
Danach wird der Vorgang zum Bestätigen der Android-Berechtigung automatisch ausgeführt, indem an einer beliebigen Stelle hinzugefügt wird. * Der Dialog zum Bestätigen der Android-Berechtigung wird nur angezeigt. Vergessen Sie daher nicht, die Berechtigungseinstellung wie unten gezeigt zu AndroidManifest.xml hinzuzufügen. </ Font> >
AndroidManifest.xml
<uses-permission android:name="Berechtigungsname" />
MainActivity.java
public class MainActivity extends Activity {
private static final int REQUEST_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
RuntimePermissionChecker.requestPermission(this, REQUEST_CODE, Manifest.permission.CAMERA);
}
}
Dies
RuntimePermissionChecker.requestPermission(Activity activity, int requestCode, String requestPermission);
Durch Hinzufügen zu einer beliebigen Stelle wird der Vorgang zum Bestätigen der angegebenen Berechtigung ausgeführt, indem der Berechtigungsname, den Sie einzeln hören möchten, im obigen dritten Argument (String requestPermission) angegeben wird. (In diesem Fall wird der Bestätigungsbildschirm für die Kameraberechtigung angezeigt.)
In diesem Fall [onRequestPermissionsResult](https://developer.android.com/reference/android/app/Activity.html#onRequestPermissionsResult(int, java.lang.String [], int [])), wie im folgenden Beispiel gezeigt. Lässt den Prozess ausführen, wenn der Rückruf von aufgerufen wird.
MainActivity.java
public class MainActivity extends Activity {
private static final int REQUEST_CODE = 1;
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
if (requestCode != REQUEST_CODE)
return;
if(!RuntimePermissionChecker.existConfirmPermissions(this)){
// write features you want to execute.
}
}
}
Dies
RuntimePermissionChecker.existConfirmPermissions(Activity activity);
Wird </ font> sein, wenn noch Berechtigungen zum Anhören vorhanden sind.
Wenn Sie überprüfen möchten, ob eine einzelne Berechtigung zulässig ist, anstatt wenn alle Berechtigungen oben zulässig sind
RuntimePermissionChecker.hasSelfPermission(Activity activity, String requestPermission);
Sie können dies mit dieser Methode überprüfen. Berechtigungsname, den Sie im zweiten Argument dieser Methode einzeln überprüfen möchten Wenn Sie angeben und es bereits zulässig ist, ist es </ font>.
Die obige Verarbeitung schließt auch die Korrespondenz in diesem Fall ein.
Die obige Verarbeitung schließt auch die Korrespondenz in diesem Fall ein.
Ab Android 6.0 Marshmallow (API Level 23) müssen Sie beim Ausführen der App die Erlaubnis eines Benutzers anfordern, eine bestimmte Funktion zu verwenden, und Sie können die Funktion nicht ohne die Erlaubnis dieses Benutzers verwenden. .. (Speichern von Informationen auf einer Kamera, einem Mikrofon, einer SD-Karte usw.) Kurz gesagt, es ist ein Dialog wie dieser. Um diesen Dialog anzuzeigen, muss der Prozess natürlich auf der Anwendungsseite geschrieben werden. Weitere Details finden Sie hier
Als eine Person, die viele Android-Apps entwickelt und seit der Zeit der Android 2-Serie Android-Apps entwickelt, möchte ich nicht über die Implementierung dieser Laufzeitberechtigung nachdenken. Als maximale Konzession habe ich es also geschafft, nur eine Zeile hinzuzufügen. Ich wollte. Daher egal welche App du machst
Also habe ich versucht, etwas daraus zu machen, das alles lösen würde.
Nachtrag 13.12.2017 (Mi) Ich konnte mich für Bintray registrieren. Ich konnte mich auch bei jcenter registrieren und habe daher die Installationsmethode für die Bibliothek aktualisiert.
Recommended Posts