0
我想设置铃声类型铃声的所有,但我试图让默认声音是默认通知声音。现在,它默认为默认铃声,而不是...我该如何改变它? (WhatsApp的是能够做到这一点,所以我知道它的可能)如何为铃声类型默认RingtonePreference铃声所有
我想设置铃声类型铃声的所有,但我试图让默认声音是默认通知声音。现在,它默认为默认铃声,而不是...我该如何改变它? (WhatsApp的是能够做到这一点,所以我知道它的可能)如何为铃声类型默认RingtonePreference铃声所有
端起来只是把RingtonePreference的子类,覆盖onPrepareRingtonePickerIntent
方法始终提供默认的通知音RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI
,非常微小的变化,所以希望它是安全的。这是我的班级:
package com.myexample;
import android.content.Context;
import android.content.Intent;
import android.media.RingtoneManager;
import android.preference.RingtonePreference;
import android.util.AttributeSet;
public class MyRingtonePreference extends RingtonePreference {
public MyRingtonePreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public MyRingtonePreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyRingtonePreference(Context context) {
super(context);
}
protected void onPrepareRingtonePickerIntent(Intent ringtonePickerIntent) {
ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
onRestoreRingtone());
ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, getShowDefault());
if (getShowDefault()) {
ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI,
RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
}
ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, getShowSilent());
ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, getRingtoneType());
ringtonePickerIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, getTitle());
}
}