0

所以我有一个设置警报的警报应用程序。我有一个非常简单的 Service 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 个带有单选按钮的声音,他选择哪个 AlarmReceiver 知道要播放哪个?

4

1 回答 1

0

存储用户的首选项(共享首选项中铃声的 uri),然后在创建它时使用存储在首选项中的值来获取新值。注册警报时,您应该始终从共享首选项中获取此值。

笔记:

此外,您应该使用 SoundPool 而不是 MediaPlayer ,并且您还应该按照他们的预期使用通知,通过 PendingIntent 发送到通知栏。此通知听起来像是您的实际活动正在执行此操作,这不是通知音的工作方式。

于 2013-01-30T19:58:57.927 回答