【发布时间】:2011-03-07 05:27:45
【问题描述】:
我有一个运行以下代码的活动(定义了时间和间隔):
Intent buzzIntent = new Intent(getBaseContext(), BuzzReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), 0, buzzIntent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
buzzIntent.putExtra("interval", interval);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time, interval * 60 * 1000, pendingIntent);
还有一个具有以下 onReceive 的 BroadcastReceiver:
@Override
public void onReceive(Context context, Intent intent) {
try {
int interval = intent.getIntExtra("interval", -1);
<... more code ...>
} catch (Exception e) {
e.printStackTrace();
}
}
但是 intent.getIntExtra() 返回 -1 (这不是 Activity 中的间隔值,我检查过),所以由于某种原因,BroadcastReceiver 没有获得我存储到意图中的额外内容活动。
我尝试了很多不同的方法,但似乎没有任何效果。我在这里遗漏了什么吗?
【问题讨论】:
-
我在这里做类似的事情!!! stackoverflow.com/questions/14571564/…
标签: android broadcastreceiver android-intent android-pendingintent