7

私のプログラムは、ブロードキャストレシーバーをトリガーして通知を行う繰り返しアラームを作成するように設計されています。アラームは、ユーザーが入力した間隔を使用して繰り返されます。

たとえば、アラームを 10 秒ごとに実行するように設定したい場合、どうすればよいでしょうか?

 am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),  10000, calpendingintent);

これは正しいですか?私の放送受信機も何らかの理由で呼び出されていません。

public static void createAlarms(Context mcontext) {
    cal = Calendar.getInstance();
    cal.add(Calendar.HOUR, alarmintervalint);
    calintent = new Intent(mcontext, AlarmBroadcastReceiver.class);
    calpendingintent = PendingIntent.getBroadcast(mcontext.getApplicationContext(), 12345, calintent, 0);
    am = (AlarmManager)mcontext.getSystemService(Activity.ALARM_SERVICE);
    am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),  10000, calpendingintent);
}

BroadcastReceiver クラスが呼び出されておらず、使用している「setRepeating()」メソッドが正しく設定されているかどうかわかりません..

助けてください!

4

4 に答える 4

-1
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.SECOND, 30);

    long time = cal.getTimeInMillis();

    Intent i = new Intent(G.context, BootCompleteReceiver.class);

    PendingIntent pi = PendingIntent.getBroadcast(G.context, 0, i, 0);

    G.alarmManager.set(AlarmManager.RTC_WAKEUP, time, pi);
于 2016-07-15T08:57:44.297 に答える