2
我想在特定時刻執行數據庫操作,並使用警報管理器和未決意圖與廣播接收器結合使用。多個意圖,但廣播接收器只調用一次
這是有效的,但是當同一個廣播接收機需要在短時間內接收到多個意圖時(一分鐘內f.ex.),onreceive()只會被調用一次。
Intent intent2 = new Intent(this, CustomBroadcastReceiver.class);
intent2.putExtra("taskId", currentTask.getTaskId());
PendingIntent pendingIntent1 = PendingIntent.getBroadcast(this, 0, intent2, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() +
((long) dataSource.fetchTask(task.getTaskId()).getTaskTime() * 60 * 1000), pendingIntent1);
和廣播接收器的方法的onReceive:
@Override
public void onReceive(Context context, Intent intent) {
dataSource = new DataSourceClass(context);
dataSource.open();
int taskId = intent.getIntExtra("taskId", 0);
dataSource.setTaskStatus(3, taskId);
dataSource.setCatInActive(dataSource.fetchTask(taskId).getTaskCategory())
}
在我做錯了什麼建議?
現貨,這正是問題所在。非常感謝你! – user5102612
我的榮幸! :3 –