Broadcastreceiver中的Android AlarmManager

And*_*oid 8 android broadcastreceiver alarmmanager

我有braodcastreceiver,广播接收器应安排一个警报.

通常我会这样做

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); 
am.set(AlarmManager.RTC, time,  myPendingIntent); 
Run Code Online (Sandbox Code Playgroud)

问题是getSystemService仅在Activty中的广播接收器中不可用.我怎么在这里做?

谢谢.

Wil*_*ate 32

AndyAndroid,

getSystemService()是的一部分Context.您将需要保存Context您在onReceive()方法中收到的内容,如此...

private Context mContext;

@Override
public void onReceive(Context c, Intent i) {
    mContext = c;
}
Run Code Online (Sandbox Code Playgroud)

然后getSystemService()...... 你打电话给你使用......

AlarmManager am = (AlarmManager) mContext.getSystemService(mContext.ALARM_SERVICE); 
Run Code Online (Sandbox Code Playgroud)