Frage

Während ein Launcher (Homescreen) Anwendung für Android zu entwickeln, ich habe eine Sicherheitsausnahme kommen in die ich nicht verstehe.

  • Wenn der Aufruf [BindAppWidgetId ()] [1] Verfahren aus In meiner Launcher Aktivität, erhalte ich diese Sicherheitsausnahme:

November 08-19: 30: 11,689: ERROR / Android Runtime (6032): java.lang.SecurityException: bindGagetId appWidgetId = 99 provider = ComponentInfo {com.android.music / com.android.music.MediaAppWidgetProvider}: User 10034 nicht android.permission.BIND_APPWIDGET haben.

Ich dachte zuerst hatte ich die BIND_APPWIDGET Erlaubnis in meinem Manifest vergessen, aber es ist es auf jeden Fall.

Die Androide api-Dokumentation besagt dies:

  

"Sie müssen die APPWIDGET_LIST   Genehmigung. Diese Methode ist verwendet werden soll   durch den AppWidget Picker. "

Ich habe versucht, die Erlaubnis android.permission.APPWIDGET_LIST, hinzufügen, aber es das Problem nicht lösen.

Außerdem habe ich im Manifest der Einstellungen Anwendung aus der Android Quellen gesucht, die den AppWidgetPickActivity Code enthält: es gibt eine spezielle Linie, die Aktie Benutzer-ID fragt:

  

"android: sharedUserId =" android.uid.system "

Könnte es zu meinem Problem zusammenhängen?

Wenn jemand eine Idee, die toll! Würde

Cheers, Laurent

War es hilfreich?

Lösung

Ich habe eine Antwort gefunden!

BindAppWidgetId () ist absichtlich nicht für Anwendungen zur Verfügung! (Sicherheitsprobleme).

  

"Die android.permission.BIND_APPWIDGET   Erlaubnis ist ein System Erlaubnis. Sie   nur kann, dass die Erlaubnis erhalten, wenn Ihr   Paket wird als ein System installiert   Paket (in / System installiert / app in   anstelle von / data / app) oder melden Sie App   mit einem Zertifikat, das das gleiche wie   Ihr Android-Bild. Also im Grunde dieses   nur bedeutet, können Sie diese Berechtigung verwenden   wenn Sie sind auch der Schöpfer der   android Bild auf Ihrer Plattform / Telefon. "

Hier sind die Links zu diesen Informationen:

http: // groups.google.com/group/android-developers/browse_thread/thread/231245ba6d1e690f/047b9d3f776d7e54?lnk=gst&q=bindAppWidgetId#047b9d3f776d7e54

http: // groups.google.com/group/android-developers/browse_thread/thread/f24e0f484a79d529/ef84188e8533a125?lnk=gst&q=bindAppWidgetId#ef84188e8533a125

Andere Tipps

Eine schnelle Google-Suche zeigt, dass android.permission.APPWIDGET_LIST eine brauchbare Erlaubnis ist, auch wenn es nicht in der API-Dokumentation aufgeführt ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top