在我的应用程序允许用户启动/停止背景初始屏幕音乐在按照上创建优惠活动:
public class Prefs extends PreferenceActivity{
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
}
}
并在 xml 文件夹内创建 prefs.xml:
<?xml version="1.0" encoding="utf-8" ?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:title="splash music"
android:defaultValue="true"
android:key="checkbox"
android:summary="Plese remove music "/>
</PreferenceScreen>
和初始活动此代码:
public class Splash extends Activity{
MediaPlayer ourSong;
@Override
protected void onCreate(Bundle Drandroid) {
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
// TODO Auto-generated method stub
super.onCreate(Drandroid);
setContentView(R.layout.splash);
ourSong = MediaPlayer.create(Splash.this, R.raw.splashsound);
SharedPreferences getPrefs =
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
boolean music = getPrefs.getBoolean("checkbox", true);
if (music == true)
ourSong.start();
Thread timer = new Thread(){
public void run(){
try{
sleep(5000); }
catch (InterruptedException e){
e.printStackTrace(); }
finally{
Intent openTurkeyTrip = new Intent("com.android.dr.MENU");
startActivity(openplanet); }}
};
timer.start(); }
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
ourSong.release();
finish();
}
}
我怎样才能解决它与其他类的不否决我的应用程序也将支持旧的和新的设备,如下所示:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
任何意见将受到赞赏,谢谢你。
解决方法 1:
PreferenceActivity
不推荐使用。
addPreferencesFromResource()
关于 PreferenceActivity
不推荐使用。但是,如果您在支持 API 级别 10 或更低,你有没有选择,只能要使用它,至少在这些设备上。
非不推荐使用的方法是使用 PreferenceFragment
与 PreferenceActivity
中所述, PrefereceActivity
文档。如果您的应用程序是唯一支持的 API 级别 11 和较高的只是使用的。如果您的应用程序也支持较旧的设备,则:
-
使用
addPreferencesFromResource()
所有时间,作为它仍然都有效,直至您删除较旧的版本中,支持或 -
使用
addPreferencesFromResource()
仅在较旧的设备上 (通过检查Build.VERSION.SDK_INT
),并依靠新的基于片段的系统上较新的设备