我想要做什么: 要将我的铃声设置为传入SMS
,即使在SMS app
中还有另一个铃声。如何覆盖短信铃声
我试过的: 在SMS reciever
中,我设置了音量STREAM_NOTIFICATION to 0
,并试图通过MediaPlayer
播放我的铃声作为媒体。
所以基本上是这样的:
am.setStreamVolume(AudioManager.STREAM_NOTIFICATION, 0, 0);
MediaPlayer mp = MediaPlayer.create(context, notifUri);
mp.start();
int duration = mp.getDuration() + 3000; //Margin
try {
Thread.sleep(duration);
} catch (InterruptedException e) {
}
am.setStreamVolume(AudioManager.STREAM_NOTIFICATION, beforOverrideNotifVol, 0);
发生了什么事: 我的自定义铃声播放,但立即在这之后,sms-app
声音太响了起来。 我试图给线程增加一些睡眠(让短信应用在后台播放),但它只是等待音量恢复,然后播放铃声。
起初,我尝试这样:
RingtoneManager.setActualDefaultRingtoneUri(...)
但它不会覆盖应用程序设定,只覆盖时,在短信应用选择铃声通知声音。
希望这个[链接](http://stackoverflow.com/questions/1271777/how-to-set-ringtone-in-android-from-my-activity)将帮助你:) – 2013-02-27 08:19:29