当前位置:  开发笔记 > 编程语言 > 正文

调用bindAppWidgetId时出现安全性异常

如何解决《调用bindAppWidgetId时出现安全性异常》经验,为你挑选了1个好方法。

在为Android开发Launcher(Homescreen)应用程序时,我遇到了一个我不明白的安全例外.

从我的Launcher Activity中调用[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源代码中的Settings应用程序的清单:有一条要求共享用户ID的特殊行:

"机器人:sharedUserId =" android.uid.system"

它可能与我的问题有关吗?

如果有人有一个想法会很棒!

干杯,洛朗



1> laurentsebag..:

我找到了答案!

BindAppWidgetId()故意不适用于应用程序!(安全问题).

"android.permission.BIND_APPWIDGET权限是系统权限.如果您的软件包作为系统软件包安装(安装在/ system/app而不是/ data/app中),则只能获得该权限,或者使用证书为您的应用程序签名这是与您的机器人形象.所以basicly这意味着,如果你也是你的平台/手机上的机器人形象的创造者,你只能使用此权限."

以下是此信息的链接:

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

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有