Android Can';不要使用实时壁纸

Android Can';不要使用实时壁纸,android,service,wallpaper,Android,Service,Wallpaper,java.lang.SecurityException:所选服务不需要android.permission.BIND\u墙纸 所以这确实有效: <application android:icon="@drawable/icon" android:label="Wallpaper" android:permission="android.permission.BIND_WALLPAPER"> 然而,在这种情况下,你的应用程序本质上只是一张壁纸。我的应用程序是完全成

java.lang.SecurityException:所选服务不需要android.permission.BIND\u墙纸

所以这确实有效:

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

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

所以我试着:

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

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

哦,当然了,我在没有权限设置的情况下尝试了它,但也出现了同样的错误


如何继续运行应用程序,并允许使用捆绑壁纸。

权限和使用权限是两个相反的概念:

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

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

根据Android maninfest.permissions doc

String::必须是服务所必需的,以确保只有系统才能绑定到它

    <service android:name=".LiveWallpaper"
        android:label="Wallpaper"
        android:icon="@drawable/ic_launcher"
        android:permission="android.permission.BIND_WALLPAPER">
事实上,如果您将权限添加到您的服务中。它很好用。确保系统只能绑定到它是一个安全例外

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

谢谢是的,我有。见我的答案:)