2016-06-24 2 views
0

setRepeatingメソッドアラーラムを返信し続けるが、10回後に停止したい。コードの下アラムマネージャーを10回後に中止する

は私alaram

  alarammanager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 
       1000 * 60 * 30, pendingIntent); 
+0

静的変数をalarmCounterとして1つずつ増やすことができ、10回停止すると繰り返しアラームを設定します。 – Vickyexpert

答えて

0

まずrepetingされ、あなたがた回数をカウントする変数を初期化します。毎回あなたのアラームを繰り返し、それを増やす(1)10と、この変数等しいまで、これは、以下を参照してください。

コールは

Intent i = new Intent(this, AlarmReceive.class); 
PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, 0); 
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); 
am.cancel(pi); 
)(あなたはsetRepeatingで使用したものと同等のPendingIntentでAlarmManager上)(キャンセル
+0

応答に感謝します。私はあなたの言うことを正確には得ていませんでした。これは、int inc = 0; inc <10; inC++){alarammanager.setRepeating(AlarmManager.RTC_WAKEUP、calendar.getTimeInMillis()、 1000 * 60 * 30、pendingIntent ); } –

+0

いいえ、この記事を慎重に読んでください。http://stacktips.com/tutorials/android/repeat-alarm-example-in-android 静的な変数を作成し、カウントアップします(1ずつ増加)この変数はonReceive()メソッドでも、この変数が10に等しい場合にチェックし、アラームをキャンセルするメソッドを呼び出します(このメソッドは、アラームを開始するクラスで宣言されています) – alway5dotcom

0

共有プリファレンスでは、値0の整数を初期化します。 通知受信者クラスで、値を増やします。値が10の場合は、アラームをキャンセルします。そうでない場合は、共有設定に更新値を保存します。

関連する問題