2017-06-01 15 views
-1

アラームマネージャに問題があります。私は特定の時間に設定された古いアラームを削除し、新しい時刻にアラームをリセットする必要があります。私は多くのシナリオを試しましたが、私のために働いていません。どんな助けも大いに評価されるべきです。 enter code hereアラームマネージャで古いアラームを削除して新しいアラームを設定します

//両方のsettingcanceling警報のためにあなたのPendingIntentと同じREQUEST_CODEを使用していることを確認し、新しいアラームに

am = (AlarmManager) getContext().getSystemService(ALARM_SERVICE); 

     /* Retrieve a PendingIntent that will perform a broadcast */ 
    Intent alarmIntent = new Intent(getContext(), AlarmReceiver.class); 

    PendingIntent pendingIntent = PendingIntent.getBroadcast(getContext(), profileFragmentRequestCode, alarmIntent, 0); 
    Calendar calendar = Calendar.getInstance(); 
    calendar.setTimeInMillis(System.currentTimeMillis()); 
    calendar.set(Calendar.HOUR_OF_DAY, 14); 
    calendar.set(Calendar.MINUTE, 55); 
    if (android.os.Build.VERSION.SDK_INT >= 19) { 
     am.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); 
    } else { 
     am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); 
    } 
+0

@snachmsmはい、それは私が –

答えて

0

を設定するには、アラーム

am = (AlarmManager) getContext().getSystemService(ALARM_SERVICE); 
    Intent i = new Intent(getContext(),AlarmReceiver.class); 
    PendingIntent p = PendingIntent.getBroadcast(getContext(), profileFragmentRequestCode, i, 0); 
    am.cancel(p); 
    p.cancel(); 

//を削除するには。 ALARM

SET:

AlarmManager alarmManager = (AlarmManager) getContext().getSystemService(Context.ALARM_SERVICE); 

Intent alarmIntent = new Intent(getContext(), AlarmReceiver.class); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(getContext(), REQUEST_CODE, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); 

alarmManager.cancel(pendingIntent); 
+0

はい、私は両方のために同一の要求コードを使用を使用していた固有の番号である:

AlarmManager alarmManager = (AlarmManager) getContext().getSystemService(Context.ALARM_SERVICE); Intent alarmIntent = new Intent(getContext(), AlarmReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(getContext(), REQUEST_CODE, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent) 

アラームをキャンセルします。私は解決策を見つけた calendar.set(Calendar.HOUR_OF_DAY、14); calendar.set(Calendar.MINUTE、55); コードの上に問題があります。解決策がありがとうございました。 –

関連する問題