0

java.lang.SecurityException: Selected service does not require android.permission.BIND_WALLPAPER

所以这确实有效:

<application android:icon="@drawable/icon"
    android:label="Wallpaper"
    android:permission="android.permission.BIND_WALLPAPER">

但是,在这种情况下,您的应用本质上只是一张壁纸。我的应用程序完全成熟,其中捆绑了一张壁纸。如果我使用上面的,它不会让我运行应用程序本身。只需设置一个壁纸。

所以我尝试了:

<uses-permission android:name="android.permission.BIND_WALLPAPER" />

这给出了显示的错误。我可以看到预览运行良好,但只要我点击应用或设置。爆头!

哦,当然,我试过没有权限设置,但同样的错误

我如何仍然运行该应用程序,并允许使用捆绑的壁纸。

4

2 回答 2

1

许可和使用许可是两个相反的概念:

  • 权限要求调用元素的人有这个权限
  • uses-permission 要求系统将此权限授予元素

您是否尝试将权限元素放入相关活动中?

于 2012-09-21T14:53:46.720 回答
1

根据 Android maninfest.permissions 文档

字符串: BIND_WALLPAPER:必须是 WallpaperService 要求的,以确保只有系统可以绑定到它。

所以事实上,如果您将权限添加到您的服务。它工作正常。确保系统只能绑定到它是一个安全例外。

    <service android:name=".LiveWallpaper"
        android:label="Wallpaper"
        android:icon="@drawable/ic_launcher"
        android:permission="android.permission.BIND_WALLPAPER">
于 2012-09-21T14:53:56.830 回答