所以我设法让设置按钮出现在我的动态壁纸预览中。我遇到的唯一问题是它没有让我参加我喜欢的活动。(我已经记录了它,但我从未参加过活动)。
我有一种感觉,我一定在某个地方的 XML 中犯了一个错误……但我似乎无法发现它。
这是我的壁纸.xml
<?xml version="1.0" encoding="utf-8"?>
<wallpaper xmlns:android="http://schemas.android.com/apk/res/android"
android:thumbnail="@drawable/icon"
android:description="@string/wallpaper_description"
android:settingsActivity="com.company.app.package.LiveWallpaperPrefs">
</wallpaper>
这是我清单中的相关片段。
<service
android:name="com.company.app.package.LiveWallpaperService"
android:enabled="true"
android:icon="@drawable/icon"
android:label="app"
android:permission="android.permission.BIND_WALLPAPER" >
<intent-filter android:priority="1" >
<action android:name="android.service.wallpaper.WallpaperService" />
</intent-filter>
<meta-data
android:name="android.service.wallpaper"
android:resource="@xml/wallpaper" />
</service>
<activity android:name="com.company.app.package.LiveWallpaperPrefs"/>
有人知道为什么当我按下设置时它没有将我发送到我的 LiveWallpaperPrefs 吗?它实际上给了我一个错误“不幸的是,动态壁纸选择器已停止。”
谢谢!
实际上想通了...我没有授予系统权限以从我的应用程序外部输入我的应用程序的该设置部分...这是修复我的代码的原因。
在清单中(替换旧的 LiveWallpaperPrefs)
<activity android:name="com.company.app.package.LiveWallpaperPrefs">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>