0

所以我设法让设置按钮出现在我的动态壁纸预览中。我遇到的唯一问题是它没有让我参加我喜欢的活动。(我已经记录了它,但我从未参加过活动)。

我有一种感觉,我一定在某个地方的 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>
4

2 回答 2

0

您可以像这样导出 LiveWallpaperPrefs:

<activity
    android:name="com.company.app.package.LiveWallpaperPrefs"
    android:exported="true" />
于 2013-05-03T23:12:09.127 回答
0

我意识到这个问题有点老了,但我遇到了类似的问题。我在网上找到的建议似乎都没有奏效。无论我做什么,点击按钮时设置都不会显示。

浪费了大约 3 个小时后,我意识到它正在工作,但由于某种原因,我不得不从设备中完全删除该应用程序并重新安装它。

通常,清理项目并将其重新上传到设备实际上会更改应用程序。但由于某种原因,该更改在删除并重新安装应用程序之前不会生效

希望这对将来的人有所帮助!

于 2015-05-14T16:09:27.927 回答