[android]AddPreferencesFromResource 作为其已被否决的替代




在我的应用程序允许用户启动/停止背景初始屏幕音乐在按照上创建优惠活动:

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 或更低,你有没有选择,只能要使用它,至少在这些设备上。

非不推荐使用的方法是使用 PreferenceFragmentPreferenceActivity 中所述, PrefereceActivity 文档。如果您的应用程序是唯一支持的 API 级别 11 和较高的只是使用的。如果您的应用程序也支持较旧的设备,则:

  • 使用 addPreferencesFromResource() 所有时间,作为它仍然都有效,直至您删除较旧的版本中,支持或

  • 使用 addPreferencesFromResource() 仅在较旧的设备上 (通过检查 Build.VERSION.SDK_INT ),并依靠新的基于片段的系统上较新的设备

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值