Android用のランチャー(ホームスクリーン)アプリケーションを開発しているときに、理解できないセキュリティ例外が発生しました。
- Launcherアクティビティ内から[bindAppWidgetId()] [1]メソッドを呼び出すと、次のセキュリティ例外が発生します。
08-19 11:30:11.689:ERROR / AndroidRuntime(6032):java.lang.SecurityException:bindGagetId appWidgetId = 99 Provider = ComponentInfo {com.android.music / com.android.music.MediaAppWidgetProvider}:ユーザー10034にはandroid.permission.BIND_APPWIDGET。
マニフェストでBIND_APPWIDGET権限を忘れたと最初に思ったのですが、間違いなくそこにあります。
android apiのドキュメントには、次のように記載されています。
「APPWIDGET_LIST権限が必要です。このメソッドはAppWidgetピッカーによって使用されます。」
権限android.permission.APPWIDGET_LISTを追加しようとしましたが、問題は解決しません。
また、AppWidgetPickActivityコードを含むAndroidソースからの設定アプリケーションのマニフェストを見ました:ユーザーIDを共有するように求める特別な行があります:
"android:sharedUserId =" android.uid.system "
それは私の問題に関連しているのでしょうか?
誰かが素晴らしいアイデアを持っているなら!
乾杯、ローラン