私は薬と予定のアラームに取り組んでいます...アラームを設定すると、後でアラームが鳴ったときにそれらを使用するために追加のデータを入れます.... これは、パブリック クラス AlarmUtil で薬のアラームを設定するコードです。
private static void setLimitedDurationAlarms(Context ctxt, MedicineClass med)
{
long ONE_DAY = 86400000;
AlarmManager mgr = (AlarmManager) ctxt.getSystemService(Context.ALARM_SERVICE);
// set up the first alarm
Calendar firstDoseTime = med.getFirstDoseTime();
// get firstDoseDate
Calendar firstDoseToday = med.getStartDate();
// set the time for the first dose for today.
firstDoseToday.set(Calendar.HOUR_OF_DAY, firstDoseTime.get(Calendar.HOUR_OF_DAY));
firstDoseToday.set(Calendar.MINUTE, firstDoseTime.get(Calendar.MINUTE));
Intent i = new Intent(ctxt, OnAlarmReceiver.class);
i.putExtra("MEDICINE", med.getName());
i.putExtra("LAST_ALARM", "FALSE");
PendingIntent pi = PendingIntent.getBroadcast(ctxt, getUniqueID(), i, 0);
mgr.set(AlarmManager.RTC_WAKEUP, firstDoseToday.getTimeInMillis(), pi);
……….
……
アラーム受信時…。アラームの追加データを取得して、それが薬用か予約用かを知る必要があります..また、各薬またはアプリの特定のデータを使用してオブジェクトを取得し、通知でその情報を表示する必要があります..次のコード..
public class OnAlarmReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context ctxt, Intent intent)
{
Log.d("Alarm", "Alarm OFF! BEEP BEEP BEEP!");
Bundle data = intent.getExtras();
String medicine = (String) data.getCharSequence("MEDICNIE");
String appointment = (String) data.getCharSequence("APPOINTMENT");
String AppAction = (String) data.getCharSequence("APP_ACTION");
if (medicine == null)
// this alarm is not for medicine = for App
// use "appointment" values to get the appointment object from appointment list
else
// this is medicine alarm..
// use "medicine" value to get the medicine object form medicines list
…….
問題は、インテントの追加データから取得したすべてのデータが常に null を返すことです!
誰かがこの問題について知っているなら、私はアンドロイドに非常に慣れていないので、最も簡単な方法で私に答えたいと思っています..
助けを待っています.