【发布时间】:2011-04-01 00:54:44
【问题描述】:
在为 Android 开发启动器(主屏幕)应用程序时,我遇到了一个我不理解的安全异常。
- 当调用 [bindAppWidgetId()][1] 方法来自 在我的启动器活动中,我得到 这个安全例外:
08-19 11:30:11.689: 错误/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"
会不会和我的问题有关?
如果有人有一个很棒的想法!
干杯, 洛朗
【问题讨论】:
-
这是一种方式:[这里有一个解决方案][1] [1]:stackoverflow.com/questions/9746173/…
标签: android android-widget homescreen launcher