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

Raf*_*ael 16 audio notifications android

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

dym*_*meh 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();
}
Run Code Online (Sandbox Code Playgroud)


184*_*615 9

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(context.getApplicationContext(), notification);
r.play();
Run Code Online (Sandbox Code Playgroud)