我有一个实现警报的类。接收器类是广播接收器,我希望它在闹钟响起时振动并播放默认的警报声。但它不会让我在广播接收器类中使用getSystemService。
我猜这是因为它不是一项活动而且不能使用它,但我该如何解决这个问题呢?我应该将接收类更改为活动类或警报对话框活动吗?你们都建议什么?
干杯
答案 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);
}