如何在广播接收器上设置振动和声音

时间:2012-04-09 20:46:15

标签: android alarmmanager

我有一个实现警报的类。接收器类是广播接收器,我希望它在闹钟响起时振动并播放默认的警报声。但它不会让我在广播接收器类中使用getSystemService。

我猜这是因为它不是一项活动而且不能使用它,但我该如何解决这个问题呢?我应该将接收类更改为活动类或警报对话框活动吗?你们都建议什么?

干杯

2 个答案:

答案 0 :(得分:2)

你可以使用它。我是在BroadcastReceiver中完成的。

    AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

您有错误消息吗?还是源代码?

请注意,广播接收器最多只能持续10秒钟。

答案 1 :(得分:2)

getSystemService方法是Context类的一部分。在您的广播接收器中,您将通过广播意图传递Context实例。上下文将是活动上下文或应用程序上下文,具体取决于您的广播接收器的注册方式。

您应该可以使用此Context个实例来呼叫getSystemService,如下所示:

public final void onReceive(Context context, Intent intent) {
    AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
}