2013-11-03 8 views
15

Ich arbeite daran, den Open-Source-Kompass von micode in eine App zu integrieren, die ich mache. Ich frage mich, wie ich diesen Fehler hier beheben kann, wenn ich es eindeutig in meinem Manifest mit der richtigen Schreibweise angegeben habe. Es kommt immer noch, dass ich diese Erlaubnis brauche.Was muss ich tun: das erfordert android.permission.INTERACT_ACROSS_USERS_FULL

Dies ist verwirrend mich ...

11-03 13:53:58.241: E/AndroidRuntime(8975): Caused by: \ 
    java.lang.SecurityException: Permission Denial: registerReceiver from \ 
    net.micode.compass asks to run as user -1 but is calling from user 0; this \ 
    requires android.permission.INTERACT_ACROSS_USERS_FULL 
+0

Raghav hat Recht .. Dies ist eine Unterschriftsberechtigung, die Sie nicht in Ihrer App verwenden können, wenn sie nicht die gleiche Signatur des Systems hat, d. H. Sie haben das System selbst erstellt und mit Ihrem eigenen Schlüssel signiert. BTW, könnten Sie mir bitte zeigen, welcher Code genau diese Ausnahme erzeugt hat? Ich bin nur neugierig .. –

Antwort

27

android.permission.INTERACT_ACROSS_USERS_FULL ist eine Signatur-Ebene Erlaubnis. Ihre App kann sie erst verwenden, wenn sie dieselbe Signatur wie das System hat.

+10

Was Sie nicht erreichen können, wenn Sie entweder der Schöpfer oder das System bauen, oder mit ihnen zusammenarbeiten, so dass sie bereit sind, Ihre apk mit ihrem Zertifikat zu unterzeichnen. Mit anderen Worten, dies ist für die meisten Entwickler tabu. –

+8

also was zu tun? Warum passiert dies? – 5er

+0

Wie füge ich diese Erlaubnis ... hinzu? Ist das der richtige Weg? Vlad

6

Ich hatte ein gleiches Problem und ich tat Projekt -> sauber. Es funktioniert jetzt.

Verwandte Themen