无法应用动态壁纸

时间:2012-09-21 14:28:45

标签: android service wallpaper

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" />

显示错误。我可以看到预览运行正常,但只要我点击应用或设置。 BOOM HEADSHOT!

哦,当然,我已尝试过没有设置相同错误的权限

如何运行应用程序,以及允许使用捆绑的壁纸。

2 个答案:

答案 0 :(得分:1)

permission和uses-permission是两个相反的概念:

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

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

答案 1 :(得分:1)

根据Android maninfest.permissions doc

  

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

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

    <service android:name=".LiveWallpaper"
        android:label="Wallpaper"
        android:icon="@drawable/ic_launcher"
        android:permission="android.permission.BIND_WALLPAPER">