سؤال

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory android:title="Notifications">
    <CheckBoxPreference 
            android:key="vibration"
            android:title="Vibrate" 
            android:summary="Vibrate phone for notifications" />
    <CheckBoxPreference 
            android:key="play_tone"
            android:title="Play Ringtone" 
            android:summary="Play Ringtone for notifications" />
    <RingtonePreference
            android:key="app_ringtone"
            android:dependency="play_tone"
            android:title="Select Ringtone"
            android:ringtoneType="notification"
            android:showDefault="true"
            android:shouldDisableView="true"
            android:summary="Pick a Ringtone" />
    </PreferenceCategory>
</PreferenceScreen>

هذا هو تفضيلي XML. لكن،

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.getString("app_ringtone", null);

يعود دائما لاغية. أقوم بتصحيح الجهاز (HTC Wildfire).

هل كانت مفيدة؟

المحلول

هنا مشروع عينة إظهار تفضيلات جمع ، بما في ذلك نغمات. إذا لم ينجح هذا على جهازك ، فقد تكون هناك مشكلة توافق مع الجهاز.

نصائح أخرى

في مشكلة حالتي ، كانت أنني أفرغت من عدم النشاط في النشاط ولم أطلب super.onactivityResult (...). الآن يعمل بشكل جيد:

public synchronized void onActivityResult(final int requestCode,
    int resultCode, final Intent data) {

    super.onActivityResult(requestCode, resultCode, data);
}

XML الإشكالية:

<activity android:name="Activity1" 
    android:label="Activity 1"/>
<activity android:name="Activity2" 
    android:label="Activity 2" />
<activity android:name="Settings"  
    android:label="Settings" />

لقد غيرت Android: name = "Activity1" ل Android: Name = ". Activity1" لجميع الأنشطة والرمز بدأ العمل. الرمز أيضًا يعطل إذا كان Android: ShowsIlent = "false" يتم تضمين السمة في رنين قد يكون هذا خطأ. لقد اكتشفت هذا بعد الكثير من المحاكمة والأخطاء. أي أفكار ، الثابتة والمتنقلة enlightencommonsware.

العمل XML:

<activity android:name=".Activity1" 
    android:label="Activity 1"/>
<activity android:name=".Activity2" 
    android:label="Activity 2" />
<activity android:name=".Settings"  
    android:label="Settings" />
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top