簡體   English   中英

在Android上更改默認通知鈴聲

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM