【发布时间】:2013-02-27 07:51:32
【问题描述】:
我想做什么:
将我的铃声设置为传入的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(...)
但它不会覆盖应用程序设置,它只会在短信应用程序中选择铃声时覆盖通知声音。
【问题讨论】:
-
希望link 能帮到你:)
标签: android notifications sms ringtone