[英]Change Default Notification Ringtone on Android
我正在嘗試從我的應用程序中更改通知鈴聲。 到目前為止,我可以顯示“通知鈴聲”,然后選擇其中之一,但是它並沒有改變。 到目前為止,這是我正在使用的:
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
Uri notification = Uri.parse(settings.getString("timerSound", RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION).toString()));
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Alert Tone");
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, notification);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
startActivityForResult(intent, 5);
您可以按照以下代碼更改通知鈴聲
//new ringtone uri
Uri nuri = Uri.parse("");
//change notification
RingtoneManager.setActualDefaultRingtoneUri(this,RingtoneManager.TYPE_NOTIFICATION, nuri);
如果您想更改鈴聲,可以使用以下代碼
AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
for (int volumeType : (new int[] { AudioManager.STREAM_SYSTEM,
AudioManager.STREAM_RING,AudioManager.STREAM_NOTIFICATION,AudioManager.STREAM_ALARM })) {
int maxVolume = audio.getStreamMaxVolume(volumeType);
audio.setStreamVolume(volumeType, maxVolume,
AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE);
audio.setStreamMute(volumeType, false);
audio.setVibrateSetting(volumeType, AudioManager.VIBRATE_SETTING_ON);
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.