我有一个实现警报的类。接收器类是一个广播接收器,我希望它在闹钟响起时振动并播放默认的闹钟声音。但它不会让我在广播接收器类中使用 getSystemService 。
我猜这是因为它不是一项活动并且不能使用它,但我该如何解决这个问题?我应该将接收类更改为活动类还是警报对话活动?大家有什么建议?
干杯
我有一个实现警报的类。接收器类是一个广播接收器,我希望它在闹钟响起时振动并播放默认的闹钟声音。但它不会让我在广播接收器类中使用 getSystemService 。
我猜这是因为它不是一项活动并且不能使用它,但我该如何解决这个问题?我应该将接收类更改为活动类还是警报对话活动?大家有什么建议?
干杯
你可以使用它。我在我的广播接收器中做到这一点。
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
你有错误信息吗?还是源代码?
请注意,广播接收器最多只能持续 10 秒。
getSystemService 方法是Context类的一部分。在您的广播接收器中,您将获得一个Context
带有广播意图的实例。上下文将是活动上下文或应用程序上下文,具体取决于广播接收器的注册方式。
您应该能够使用此Context
实例来调用getSystemService
,如下所示:
public final void onReceive(Context context, Intent intent) {
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
}