Fehler beim starten der app der main-activity über ein intent in einer Bibliothek
In meiner Anwendung brauche ich die Haupttätigkeit der folgenden Art und Weise dokumentiert, wie in einigen anderen threads SO:
final String packageName = getApplicationContext().getPackageName();
final Intent launchIntent = getPackageManager().getLaunchIntentForPackage(packageName);
startActivity(launchIntent);
Den oben genannten code-Zeile ist in meinem Android-library-Projekt, da ich nicht weiß an dieser Stelle die Klasse meiner Haupttätigkeit.
Diese funktioniert wie ein Charme, wenn die Bereitstellung von app durch die USB-Schnittstelle auf Geräte testen, aber dieser Fehler tritt bei der Installation der app aus Google Play auf 4.3 Geräte.
07-03 13:54:19.843: E/DatabaseUtils(2344): Schreiben Ausnahme Paket
07-03 13:54:19.843: E/DatabaseUtils(2344): java.lang.SecurityException: Permission Denial: get/set-Einstellung für Benutzer fragt, um als Benutzer ausführen -2, ruft aber aus user 0; dies erfordert android.die Genehmigung.INTERACT_ACROSS_USERS_FULL
07-03 13:54:19.843: E/DatabaseUtils(2344): an com.android.server.bin.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:13140)
07-03 13:54:19.843: E/DatabaseUtils(2344): at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2038)
07-03 13:54:19.843: E/DatabaseUtils(2344): an com.android.die Anbieter.Einstellungen.SettingsProvider.callFromPackage(SettingsProvider.java:607)
07-03 13:54:19.843: E/DatabaseUtils(2344): at android.Inhalt.ContentProvider$Transport.call(ContentProvider.java:279)
07-03 13:54:19.843: E/DatabaseUtils(2344): at android.Inhalt.ContentProviderNative.onTransact(ContentProviderNative.java:273)
07-03 13:54:19.843: E/DatabaseUtils(2344): at android.os.Binder.execTransact(Binder.java:388)
07-03 13:54:19.843: E/DatabaseUtils(2344): an com.android.server.SystemServer.init1(Native-Methode)
07-03 13:54:19.843: E/DatabaseUtils(2344): an com.android.server.SystemServer.main(SystemServer.java:2012)
07-03 13:54:19.843: E/DatabaseUtils(2344): bei java.lang.reflektieren.Methode.invokeNative(Native-Methode)
07-03 13:54:19.843: E/DatabaseUtils(2344): bei java.lang.reflektieren.Methode.invoke(Method.java:525)
07-03 13:54:19.843: E/DatabaseUtils(2344): an com.android.intern.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
07-03 13:54:19.843: E/DatabaseUtils(2344): an com.android.intern.os.ZygoteInit.main(ZygoteInit.java:862)
07-03 13:54:19.843: E/DatabaseUtils(2344): bei dalvik.system.NativeStart.main(Native-Methode)
Hat jemand das auch erlebt?
Bearbeiten:
Ich habe nicht erwähnt, dass mehrere threads in SO genannten "android.die Genehmigung.INTERACT_ACROSS_USERS_FULL ist eine Signatur-level-Berechtigung. Ihre app wird nicht in der Lage sein, es zu benutzen, bis und es sei denn, es hat die gleiche Signatur wie die system."
Erlaubnis Denial: startActivity bittet um als Benutzer ausführen -2, ruft aber aus user 0; dies erfordert android.die Genehmigung.INTERACT_ACROSS_USERS_FULL
Erlaubnis Denial: dieser erfordert android.die Genehmigung.INTERACT_ACROSS_USERS_FULL
Was ich mache: diese erfordert android.die Genehmigung.INTERACT_ACROSS_USERS_FULL
Aber wie der obige code scheint für die Verwendung durch andere Entwickler, ich bin immer noch der Hoffnung nach einer Lösung.
Edit 2:
Entfernen stack nicht im Zusammenhang mit problem.
InformationsquelleAutor L. G. | 2014-07-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zitat aus was-kann-ich-tun-um-diese-erfordert android-Berechtigung-Interaktion-across-Benutzer-voll,
android.permission.INTERACT_ACROSS_USERS_FULL
ist eine Signatur-level-Berechtigung. Ihre app wird nicht in der Lage sein, es zu benutzen, bis und es sei denn, es hat die gleiche Signatur wie die system.UPDATE:
Haben Sie die
android.permission.WRITE_EXTERNAL_STORAGE
?Dieser link kann Ihnen helfen - Wie die Berechtigung überprüft werden können, während der Laufzeit ohne SecurityException werfen?
Ihre Anliegen -
Das ist vielleicht ein guter Tipp, eine Zeile code oben habe ich Zugriff auf externe Speicher, aber meine app hat WRITE_EXTERNAL_STORAGE-Berechtigung. Ich will verbessern meine Fehlerbehandlung und-Suche in diesem Weg, danke.
InformationsquelleAutor My God
Überprüfen, um sicherzustellen, dass Sie nicht vergessen zu Aktivität hinzufügen, um Ihre manifest.
InformationsquelleAutor Droid Teahouse
Leider ist das system nicht:
Ausnahme in meiner Frage war nicht auf das problem beziehen, und war nicht angemeldet auf anderen Geräten.
Verwendeten wir folgenden workaround, der funktioniert auf allen Geräten, für die jetzt das problem zu lösen und starten Sie die main-Aktivität, die von einem Android-Bibliothek:
Hallo!Ich bekomme die exakt gleiche Fehlermeldung wie du bekommen, und es ist so frustrierend kann es freaking bekommen! Obwohl,ich bekomme die Fehlermeldung, wenn ich versuche zu machen, ein UDP-Verbindung und das senden einer Nachricht an den server...jede chance, die Sie würde in der Lage sein, geben Sie mir einige Hinweise wie es zu lösen?
Wie oben erklärt, wird die SecurityException wurde nicht in Bezug auf mein problem zum starten der Haupttätigkeit. Der workaround über das problem der immer eine null starten Vorsatz mit dem Paket-manager, indem Sie die Wiederherstellung eines Vorsatzes mit der main activity Klasse name.
InformationsquelleAutor L. G.