首页 文章

仅播放通知默认声音(Android)

提问于
浏览
16

如何才能播放通知声音(不触发状态栏通知)?我想要通知默认声音,并将其作为通知声音播放。是否可以使用 MediaPlayer 实现它?

2 回答

  • 29
    Uri defaultRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    
    MediaPlayer mediaPlayer = new MediaPlayer();
    
    try {
          mediaPlayer.setDataSource(context, defaultRingtoneUri);
          mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
          mediaPlayer.prepare();
          mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
    
             @Override
             public void onCompletion(MediaPlayer mp)
             {
                mp.release();
             }
          });
      mediaPlayer.start();
    } catch (IllegalArgumentException e) {
     e.printStackTrace();
    } catch (SecurityException e) {
     e.printStackTrace();
    } catch (IllegalStateException e) {
     e.printStackTrace();
    } catch (IOException e) {
     e.printStackTrace();
    }
    
  • 9
    Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    Ringtone r = RingtoneManager.getRingtone(context.getApplicationContext(), notification);
    r.play();
    

相关问题