0

アプリが毎週日曜日に通知を送信するようにアラーム マネージャーを設定しようとしていますが、受信できないようです。これが私のコードです:

このコードは、「StatusOfChild.java」というクラスの onCreate メソッドにあります。

Intent myIntent = new Intent(StatusOfChild.this , myService.class);     
    AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
    PendingIntent pendingIntent = PendingIntent.getService(StatusOfChild.this, 0, myIntent, 0);

    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.DAY_OF_WEEK, 1);
    calendar.set(Calendar.HOUR_OF_DAY, 12);
    calendar.set(Calendar.MINUTE, 00);
    calendar.set(Calendar.SECOND, 00);

    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60*1000 , pendingIntent);  //set repeating every 24 hours

このコードは「myService.java」というクラスにあります

public class myService extends IntentService{

public myService(){
    super("myService");
}


@Override
protected void onHandleIntent(Intent intent) {
    // TODO Auto-generated method stub
    NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    Notification notify = new Notification(R.drawable.main1,"Its Time to Eat",1000);

    Context context = myService.this;
    CharSequence title = "Its Time to Eat";
    CharSequence details = "Click Here to Search for Restaurants";
    Intent myIntent = new Intent(context,StatusOfChild.class);
    PendingIntent pending = PendingIntent.getActivity(context, 0, myIntent, 0);
    notify.setLatestEventInfo(context, title, details, pending);
    nm.notify(0,notify);
}

}

4

1 に答える 1

0

Calender(calendar) では、MONTH と YEAR を設定する必要があります。カレンダーの値を適切な形式 (日付と時刻の形式) で出力してください。これにより、alarmManager に設定した時間がわかります。

于 2013-01-04T21:26:44.827 に答える