2013-05-04 6 views
14

kaldırılmış:Alternatif onun ben kullanıcı olarak izleyin/durdurma arka plan ekranı müziği başlamasını sağlamak için uygulamama Tercih etkinlik oluşturmak

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); 


    }  
} 

ve xml klasörünün içindeki prefs.xml oluşturun:

<?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> 

ve sıçrama etkinliği için bu kodu: i diğer clas ile bunu çözebilir nasıl

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(); 
      } 
     } 

Ayrıca benim uygulama, aşağıda olduğu gibi eski ve yeni cihazlar destek olacak kaldırılmış değildir s:

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

herhangi bir tavsiye takdir edilecektir, teşekkürler.

+1

mümkün yinelenen güvenmek [a PreferenceActivity içinde "addPreferencesFromResource" yerine kullanmak için ne?] (http://stackoverflow.com/ sorular/682231 9/what-to-use-of-use-of-addpreferencesfromresource-in-a-preferenceactivity) – Mafro34

+0

yinelenen Soru –

cevap

38

PreferenceActivity kullanımdan kaldırılmıştır. PreferenceActivityüzerinde

addPreferencesFromResource() kullanımdan kaldırıldı olduğunu. Ancak, API Düzey 10'u veya daha düşük bir seviyeyi destekliyorsanız, en azından bu cihazlarda kullanmak için başka seçeneğiniz yoktur. Kullanım dışı olan yaklaşım, the PrefereceActivity documentation belgesinde anlatıldığı gibiile birlikte PreferenceFragment kullanmaktır. Uygulamanız yalnızca API Seviye 11 ve üstünü destekliyorsa, bunu kullanın. Uygulamanız, eski cihazlarını destekleyen ise ya:

  • Kullanım addPreferencesFromResource() her zaman, daha eski sürümler için destek bırakın veya kadar hala çalışır olarak sadece eski cihazlarda

  • Kullanım addPreferencesFromResource() (göre Build.VERSION.SDK_INT kontrol) ve daha yeni cihazlarda yeni fragmanı bazlı bir sistemde bir

+0

benim app hem eski hem de yeni cihazlar (post edited), nasıl çalıştığını her ikisi için de nasıl desteklenir? addPreferencesFromResource() sadece eski aygıtlarda (Build.VERSION.SDK_INT'yi denetleyerek) ve koddaki yeni aygıtlardaki yeni parça tabanlı sisteme güvenin, lütfen, teşekkürler, –

+1

@AndroidStack: Bu, makul bir şekilde kapsanabilecek olanın ötesine geçer StackOverflow yanıtında. Sonuçları gösteren bazı örnek projeler: https://github.com/commonsguy/cw-omnibus/tree/master/Prefs/FragmentsBC https://github.com/commonsguy/cw-omnibus/tree/master/Prefs/SingleHeader https://github.com/commonsguy/cw-omnibus/tree/master/Prefs/SingleHeader2 Oldukça deneyimli bir Android geliştiricisi olmadıkça, 'addPreferencesFromResource() 'özelliğini kullanana kadar eski cihazlar için destek bırakın. – CommonsWare

+0

sayın –

İlgili konular