如何解决多个设置可用于单独的动态壁纸
| 我有两个属于同一应用程序的动态壁纸,我试图为每个动态壁纸设置不同的首选项设置,但是我遇到了两个壁纸都使用第一个设置的问题。<application android:icon=\"@drawable/icon\" android:label=\"@string/app_name\">
<service
android:label=\"first wallpaper\"
android:name=\"com.package.this1.number1\"
android:permission=\"android.permission.BIND_WALLPAPER\">
<intent-filter>
<action android:name=\"android.service.wallpaper.WallpaperService\" />
</intent-filter>
<meta-data android:name=\"android.service.wallpaper\" android:resource=\"@xml/source1\" />
</service>
<service
android:label=\"second wallpaper\"
android:name=\"com.package.this2.number2\"
android:permission=\"android.permission.BIND_WALLPAPER\">
<intent-filter>
<action android:name=\"android.service.wallpaper.WallpaperService\" />
</intent-filter>
<meta-data android:name=\"android.service.wallpaper\" android:resource=\"@xml/source2\" />
</service>
<activity android:label=\"@string/settings\"
android:name=\".this1.Settings1\"
android:exported=\"true\"
android:icon=\"@drawable/icon\">
</activity>
<activity android:label=\"@string/settings\"
android:name=\".this2.Settings2\"
android:exported=\"true\"
android:icon=\"@drawable/icon\">
</activity>
</application>
我是否缺少一些简单的东西,或者如果不制作两个单独的应用程序就无法做到这一点?
这是我的Settings1和Settings2类的代码
public class Settings1 extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
getPreferenceManager().setSharedPreferencesName(number1.SHARED_PREFS_NAME);
addPreferencesFromResource(R.xml.this1_settings);
getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
public class Settings2 extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
getPreferenceManager().setSharedPreferencesName(number2.SHARED_PREFS_NAME);
addPreferencesFromResource(R.xml.this2_settings);
getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
任何建议将不胜感激。
解决方法
Moonblink(Android Tricorder的创建者)还收藏了一系列动态壁纸,称为Substrate。 Substrate确实确实将多个壁纸组合到一个程序包中,并且多个壁纸中的一个具有设置活动。我建议你检查一下他的结构。从这里开始http://code.google.com/p/moonblink/source/browse/
并寻找底物(在主干下)。希望这可以帮助。
附言该项目的主页位于:http://code.google.com/p/moonblink/wiki/Substrate
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。