我错过了这里的东西,我希望有人能帮助我。我使用以下设置报警:发送数据到报警管理器广播接收机
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent broadcast_intent = new Intent(this, AlarmBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, broadcast_intent, 0);
broadcast_intent.putExtra("test", "ValueReceived"); //data to pass
Date date = someVariable.getDateTime();
long triggerAtTime = date.getTime();
alarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtTime, pendingIntent);
,并使用以下广播接收器:
public class AlarmBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Alarm has been received "+intent.getStringExtra("test"), Toast.LENGTH_LONG).show();
}
}
然而意图小号apperently“空”。我看到getStringExtra的空值。所以数据没有被传递给广播接收机。我究竟做错了什么?我怎样才能传递数据。
谢谢你这么多
看到这个帖子http://stackoverflow.com/questions/ 2844274/multiple-calls-to-alarmmanager-setrepeating-deliver-the-same-intent-pendinginten –
查看@Theus的答案我认为那就是你需要的那个 – lemoncodes