广播接收器中的Android AlarmManager
我有Braodcastereceiver,广播接收器会安排一个警报 通常我会这样做广播接收器中的Android AlarmManager,android,broadcastreceiver,alarmmanager,Android,Broadcastreceiver,Alarmmanager,我有Braodcastereceiver,广播接收器会安排一个警报 通常我会这样做 AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); am.set(AlarmManager.RTC, time, myPendingIntent); 问题是getSystemService仅在活动中的广播接收器中不可用。我在这里怎么做 谢谢,A.和Yandroid getSystemService()是上下文的一部分。您将需要
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC, time, myPendingIntent);
问题是getSystemService仅在活动中的广播接收器中不可用。我在这里怎么做
谢谢,A.和Yandroid
getSystemService()
是上下文的一部分。您将需要保存在onReceive()
方法中接收的上下文
,如下所示
private Context mContext;
@Override
public void onReceive(Context c, Intent i) {
mContext = c;
}
然后..在调用getSystemService()
的地方使用
AlarmManager am = (AlarmManager) mContext.getSystemService(mContext.ALARM_SERVICE);
谢谢,70%;-)它必须是AlarmManager am=(AlarmManager)c.getSystemService(Context.ALARM_服务);啊><对,常数也是上下文的一部分…让我来修正它@威廉塔特:我已经注册了一个意图过滤器,为我的广播接收器完成了操作启动。因此,当手机重新启动时,应用程序上下文将如何传递(首先,它会被传递吗?@Ashwin上下文将通过函数onReceive()在您的BroadcastReceiver
中传递。参数将是上下文和意图。编辑:不幸的是,当我粘贴链接时,深度链接不起作用,只需在该页面上搜索onReceive