1

iOS アプリを Android に変換する作業を始めたところです。しかし、私は次の問題を抱えています。

アラートがポップアップするように、複数のクラスを作成しました。しかし問題は、指定された時間ではなく、5/10 秒ごとにアラートがポップアップすることです。これは、次のコードと関係があることを知っています。

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime() + 5000, 10000, pendingIntent);

しかし、最も奇妙なことは、そのコードの上の指定された時間が何もトリガーしないことです: (そうでなければ、コードの最後の行を削除することもできました)

private void setRecurringAlarm(Context context) {
    Calendar updateTime = Calendar.getInstance();
    updateTime.set(Calendar.HOUR_OF_DAY, 17);
    updateTime.set(Calendar.MINUTE, 18);

    Intent open = new Intent(this, AlarmReceiver.class);
    open.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, open, PendingIntent.FLAG_CANCEL_CURRENT);
    AlarmManager alarmManager = (AlarmManager) getSystemService(MyApp.ALARM_SERVICE);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime() + 5000, 10000, pendingIntent);

アラームは 17:18 にポップアップせず、毎回 5 秒または 10 秒後にポップアップするため、このコードの何が問題なのですか。通知を表示するために作成したサービスは、メッセージを表示するために 17:18 に開始されません。これは私のタイムゾーン (アムステルダム時間) と関係がありますか?

4

1 に答える 1

0

.setRepeating に間違った値を渡していると思います。ドキュメントを見てみましょう

あなたが言っているように私には見えます:今から5秒後に初めて放送し、その後10秒ごとに繰り返します

于 2012-10-18T16:20:27.183 に答える