lordzwieback
Erfahrenes Mitglied
- 210
Hallo,
ich habe ein paar Fragen zu Permissions und deren Festlegung. Ich benötige in meiner App Zugriff auf den Speicher des Smartphones. Also hab ich schon vor einiger Zeit diese Zeilen in meiner Manifest.xml hinzugefügt:
Damals bin ich davon ausgegangen, dass es das war. Ich hatte beim Starten von meiner App eine Abfrage, ob der Programmordner schon da ist, falls nicht, sollte er erstellt werden. Das hat ewig nicht funktioniert, weil ich erst einige Zeit später folgendes herausgefunden habe: Ich muss die Berechtigung bei einer frischen Installation IMMER unter Einstellungen - Apps - [Appname] - Berechtigung setzen. Einmal gesetzt, war das dann auch kein Problem mehr - bis ich die App mal neu installiere.
Seit Android 6 (?) kann man ja Anfragen nach Berechtigungen beim Ausführen der App einbauen. Da ich aber nicht weiß, ob jemand, der die App benutzt auch gleichzeitig Android 6 oder höher hat... das ist mir ein wenig zu riskant.
Also habe ich mir folgendes überlegt:
Beim ersten Start nach der Installation erscheint ein AltertDialog mit einem Button "test" drauf. Nach einigem Googlen fand ich heraus, dass ich bestimmte Einstellungsformulare von Android per Intent aufrufen kann. Das habe ich dann mal so getestet:
Das hat super funktioniert, aber war noch nicht ganz, was ich eigentlich wollte. Mit dem Befehl oben komme ich ins Menü Einstellungen -> Apps, ich bräuchte aber Einstellungen -> Apps -> MeineApp (->Berechtigung?).
Ich also weitergesucht und bin auf folgenden Befehl gestoßen:
Dieser Code bringt meine App zum Abstürzen. Wenn ich den befehl in einen try/catch Block stecke und mir die Fehlermeldung ausgeben lasse, erscheint das:
E/MainActivity: Error: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.APPLICATION_DETAILS_SETTINGS }
Wieso funktioniert das beim einen, aber nicht beim anderen Befehl? Hat jemand vielleicht eine bessere Idee, mein Problem zu lösen? Schonmal danke für eure Tipps.
Grüße,
lordzwieback
ich habe ein paar Fragen zu Permissions und deren Festlegung. Ich benötige in meiner App Zugriff auf den Speicher des Smartphones. Also hab ich schon vor einiger Zeit diese Zeilen in meiner Manifest.xml hinzugefügt:
Code:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Damals bin ich davon ausgegangen, dass es das war. Ich hatte beim Starten von meiner App eine Abfrage, ob der Programmordner schon da ist, falls nicht, sollte er erstellt werden. Das hat ewig nicht funktioniert, weil ich erst einige Zeit später folgendes herausgefunden habe: Ich muss die Berechtigung bei einer frischen Installation IMMER unter Einstellungen - Apps - [Appname] - Berechtigung setzen. Einmal gesetzt, war das dann auch kein Problem mehr - bis ich die App mal neu installiere.
Seit Android 6 (?) kann man ja Anfragen nach Berechtigungen beim Ausführen der App einbauen. Da ich aber nicht weiß, ob jemand, der die App benutzt auch gleichzeitig Android 6 oder höher hat... das ist mir ein wenig zu riskant.
Also habe ich mir folgendes überlegt:
Beim ersten Start nach der Installation erscheint ein AltertDialog mit einem Button "test" drauf. Nach einigem Googlen fand ich heraus, dass ich bestimmte Einstellungsformulare von Android per Intent aufrufen kann. Das habe ich dann mal so getestet:
Code:
startActivity(new Intent(Settings.ACTION_APPLICATION_SETTINGS));
Ich also weitergesucht und bin auf folgenden Befehl gestoßen:
Code:
startActivity(new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS));
E/MainActivity: Error: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.APPLICATION_DETAILS_SETTINGS }
Wieso funktioniert das beim einen, aber nicht beim anderen Befehl? Hat jemand vielleicht eine bessere Idee, mein Problem zu lösen? Schonmal danke für eure Tipps.
Grüße,
lordzwieback