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

Schreibe einen Kommentar