所以我有一个设置闹钟的闹钟应用程序。我有一个非常简单的服务AlarmReceiver来获取警报并采取一些行动:
public class AlarmReceiver extends Service{
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
MediaPlayer MPRadio1 = MediaPlayer.create(this, R.raw.radio3);
MPRadio1.start();
Toast.makeText(getBaseContext(), "Alarm received", Toast.LENGTH_LONG).show();
}
现在我想知道如何从另一个Activity更改通知声音,以便AlarmReceiver服务知道收到警报时应该播放哪些声音?所以用户可以选择让我们说,3个声音与radiobuttons,他选择AlarmReceiver知道要播放哪个?
答案 0 :(得分:0)
存储用户的首选项(uris到共享首选项中的铃声),然后在创建时使用存储在首选项中的值来获取新值。 总是在注册闹钟时从共享首选项中获取此值。
此外,您应该使用SoundPool而不是MediaPlayer AND ,您还应该按照预期的方式使用通知,通过PendingIntent发送到通知栏。此通知听起来就像您的实际活动正在进行,这不是通知音应该起作用的方式。