2
我正在尝试使用BroadcastReceiver和AlarmManager设置一次性警报。我不知道为什么它不工作。我究竟做错了什么?我没有例外,没有关于日志,没有来自IDE的建议,一切似乎都很好,但我的BroadcastReceiver中的onReceive方法永远不会被调用。AlarmManager不启动BroadcastReceiver
public void setAlarm(Context mContext) {
AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(mContext, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 505151550 ,intent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, 20);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
Log.d("alarm",cal.getTime().toString());
}
我从活动调用它:
new MyManager().setAlarm(this);
,但我自己也尝试:new MyManager().setAlarm(MyActivity.this);
在AndroidManifest.xml
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("alarm","got into alarm receiver");
}}
:
<receiver android:name="com.example.AlarmReceiver"></receiver>
,但我也试过
<receiver android:name=".AlarmReceiver"></receiver>
我只是测试你的代码,工作正常,你可以给我们进一步的代码?所以我们可以捕捉到正在发生的事情 – 2014-10-08 17:37:58