Android动态壁纸设置按钮不会将我发送到设置

时间:2012-10-12 19:37:23

标签: android live-wallpaper

所以我设法在我的动态壁纸预览中显示设置按钮。我遇到的唯一问题是它并没有让我接受我的偏好活动。 (我记录了它,我从未参加过活动)。

我有一种感觉,我一定是在XML的某个地方弄错了......但我似乎无法发现它。

这是我的wallpaper.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>

2 个答案:

答案 0 :(得分:0)

您可以像这样导出LiveWallpaperPref:

<activity
    android:name="com.company.app.package.LiveWallpaperPrefs"
    android:exported="true" />

答案 1 :(得分:0)

我意识到这个问题有点陈旧,但我遇到了类似的问题。我在网上找到的所有建议似乎都无法正常工作。无论我做了什么,点击按钮时都不会显示设置。

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

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

希望这可以帮助将来的某个人!