質問

Android向けにランチャー(Homescreen)アプリケーションを開発している間、私は理解していないセキュリティ例外に巻き込まれました。

  • ランチャーアクティビティ内から[bindappwidgetid()] [1]メソッドを呼び出すと、このセキュリティ例外が表示されます。

08-19 11:30:11.689:エラー/Androidruntime(6032):java.lang.securityexception:bindgagetid appwidgetid = 99 provider = componentInfo {com.android.music/com.android.music.mediaapprovider}: ユーザー10034には、android.permission.bind_appwidgetがありません。

私は最初に、私のマニフェストでbind_appwidgetの許可を忘れていたと思いましたが、それは間違いなくそこにあります。

Android APIドキュメントはこれを述べています:

「AppWidget_Listの許可が必要です。この方法は、AppWidget Pickerによって使用されます。」

許可android.permission.appwidget_listを追加しようとしましたが、問題は解決しません。

また、AppWidgetPickActivityコードを含むAndroidソースからの設定アプリケーションのマニフェストを調べました。ユーザーIDを共有するように求める特別な行があります。

「Android:shareduserid = "android.uid.system"

それは私の問題に関連している可能性がありますか?

誰かがそれが素晴らしいと思うなら!

乾杯、ローラン

役に立ちましたか?

解決

答えを見つけました!

bindappwidgetid()は、意図的にアプリケーションで利用できません! (セキュリティの問題)。

「Android.Permission.bind_appwidget許可はシステムの許可です。 パッケージがシステムパッケージとしてインストールされている場合にのみ、その許可を得ることができます ( /data /appの代わりに /システム /アプリにインストール)またはAndroid画像と同じ証明書でアプリに署名します。したがって、これは、プラットフォーム/電話のAndroidイメージの作成者でもある場合にのみ、この許可を使用できることを意味します。」

この情報へのリンクは次のとおりです。

http://groups.google.com/group/android-developers/browse_thread/thread/231245ba6d1e690f/047b9d3f776d7e54?

http://groups.google.com/group/android-developers/browse_thread/thread/f24e0f484a79d529/ef84188e85333a125?lnk=Gst&q=BindAppWidgetId#Ef8418853a125

他のヒント

簡単なGoogle検索でそれが明らかになります android.permission.APPWIDGET_LIST APIドキュメントにリストされていない場合でも、使用可能な許可です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top