首选项铃声默认值

Luk*_*kap 5 android preference ringtone

我在偏好.xml中有这个

        <RingtonePreference android:key="ringtone_uri"
            android:title="@string/preferences_select_ringtone"
            android:showDefault="true" android:srinlent="true"
            android:summary="@string/preferences_select_ringtone_summary" />
Run Code Online (Sandbox Code Playgroud)

每当我第一次开始全新安装应用程序时,默认值为静音:(当我点击铃声首选项时,对话框打开时默认选择静音.我希望默认选择"默认铃声".我怎样才能做到这一点 在此输入图像描述

如何将默认值设置为"默认铃声"而不是静音,我不知道为什么这个默认为我的默认我不设置在我的代码中的任何地方,默认是来自android系统的默认值...

Paw*_*ari 7

将默认值设置为默认铃声的最简单方法

<RingtonePreference
        android:showDefault="true"
        android:showSilent="true"
        android:defaultValue="content://settings/system/notification_sound"
                    .......
        >
</RingtonePreference>
Run Code Online (Sandbox Code Playgroud)


Luk*_*kap 5

我正在搜索如何设置铃声的默认值,并意识到当未设置首选项时,值为空并且默认选择静默.但我这样做

defaultstr = Uri.parse(PreferenceManager.getDefaultSharedPreferences(context).getString("r_uri",
    android.provider.Settings.System.DEFAULT_RINGTONE_URI.toString()));
//than I do this, I save the default ringtone to my setting
 if (defaultstr.equals(android.provider.Settings.System.DEFAULT_RINGTONE_URI)) {
    PreferenceManager.getDefaultSharedPreferences(context).edit().putString("r_uri",
        android.provider.Settings.System.DEFAULT_RINGTONE_URI.toString()).commit();
}
Run Code Online (Sandbox Code Playgroud)

我希望这会对别人有所帮助.顺便说一下,我发现这个变通方法,我正在沉溺几个小时