2017-09-20 8 views
-4

1日ほど後に通知を送信する方法を知りました。私のArrayListには文字列とそれが追加された日付が含まれています。私はWebで検索しましたが、実際には似たようなものを見つけませんでした。私はリストオブジェクトの時間のためにリスナーのようなものが必要です。あなたは私よりもよく知っていることを願っています:)古いリストオブジェクトの通知

答えて

0

私はしばらくして自分で見つけました。 AlarmManagerと保留中のインテントだけが必要です!

私の方法は、次のようになります。

private void startAlarm(boolean isNotification, boolean isRepeat,int year, int month, int day) { 
    AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 
    Intent myIntent; 
    PendingIntent pendingIntent; 

    Calendar myAlarmDate = Calendar.getInstance(); 
    myAlarmDate.setTimeInMillis(System.currentTimeMillis()); 
    myAlarmDate.set(year, month, day-1, 10, 00, 0); 


    if(!isNotification) 
    { 
     myIntent = new Intent(this,AlarmToastReceiver.class); 
     pendingIntent = PendingIntent.getBroadcast(this,0,myIntent,0); 
    } 
    else{ 
     myIntent = new Intent(this,AlarmNotificationReceiver.class); 
     pendingIntent = PendingIntent.getBroadcast(this,0,myIntent,0); 
    } 

    if(!isRepeat) { 
     manager.set(AlarmManager.RTC_WAKEUP,/* myAlarmDate.getTimeInMillis()*/1000, pendingIntent); 
     Log.d("alarm", "1"); 
    } 
    else{ 
     manager.setRepeating(AlarmManager.RTC_WAKEUP,SystemClock.elapsedRealtime()+3000,60*1000,pendingIntent); 
    Log.d("alarm", "2"); } 
} 
関連する問題