动态壁纸与列表首选项

时间:2012-08-31 11:57:47

标签: android list live-wallpaper preferenceactivity preference

我正在尝试使用android.service.wallpaper.WallpaperService开发一个显示实时记分卡的动态壁纸。 我计划为壁纸设置列表首选项,这将为用户提供选择他希望遵循的匹配项的选项。 我跟着这个http://www.vogella.com/articles/AndroidLiveWallpaper/article.html 当我启动设置时,我能够看到首选项。但是当我选择一个时,偏好对话并没有关闭,而且在墙纸中没有反映出来。我检查了LogCat。没有异常被抛出。

Android版:4.1

的Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.android.livesc.wallpaper" android:versionCode="1"
  android:versionName="1.0">
  <application android:icon="@drawable/icon" android:label="@string/app_name">


    <service android:name="MyWallpaperService" android:enabled="true"
      android:permission="android.permission.BIND_WALLPAPER" android:label="Wallpaper Example ">
      <intent-filter>
        <action android:name="android.service.wallpaper.WallpaperService"></action>
      </intent-filter>
      <meta-data android:name="android.service.wallpaper"
        android:resource="@xml/mywallpaper"></meta-data>
    </service>
    <activity android:label="@string/app_name" android:name=".MyPreferencesActivity"
      android:theme="@android:style/Theme.Light.WallpaperSettings"
      android:exported="true">
    </activity>
  </application>
  <uses-sdk android:minSdkVersion="10" />
  <uses-feature android:name="android.software.live_wallpaper"
    android:required="true"></uses-feature>

</manifest> 

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.android.livesc.wallpaper.MyPreferencesActivity"/> 

请帮帮我..

谢谢, Karthick

1 个答案:

答案 0 :(得分:0)

 android:settingsActivity="de.vogella.android.wallpaper.MyPreferencesActivity"

 package="com.android.livesc.wallpaper"
我认为,这就是问题所在。你必须把相同的包名放在你的设置文件的位置。

这是我的代码:

<wallpaper xmlns:android="http://schemas.android.com/apk/res/android"
           android:settingsActivity="com.aavid.wallpapers.SettingActivity"
          android:thumbnail="@drawable/icon" 
          android:description="@string/description"
/>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.aavid.wallpapers"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="7" />