特定の時間にステータスバーに表示される通知を設定しました。それを押すと、データベースに「はい」とログインします。ただし、2時間経っても押されない場合は、「いいえ」と記録してほしい。ロギング部分の実行方法は理解していますが、2時間以内に押されなかった場合に、そのシナリオを呼び出す方法についての手がかりはありません。2つのカレンダーを作成して比較できることはわかっていますが、これらをどこに配置しますか?何か提案はありますか?以下にコードをいくつか追加しました。ありがとう!
アラームコードの設定:
Intent intent_noti = new Intent(this,Nofi.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 12345, intent_noti,
PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), setTime,
pendingIntent);
通知コード:
Intent intent = new Intent(this, ScanActivity.class);
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);
Notification noti = new Notification.Builder(this)
.setContentTitle("MedScan")
.setContentText("2. You should take pills now")
.setSmallIcon(R.drawable.original)
.setContentIntent(pIntent)
.build();
NotificationManager notificationManager = (NotificationManager) getSystemService(
NOTIFICATION_SERVICE);
noti.defaults |= Notification.DEFAULT_ALL;
// Hide the notification after its selected
noti.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(ID, noti);