API 19 [および将来のバージョン]の公式ドキュメントの最後にあるように、すべての呼び出しは代わりsetRepeating()
に委譲されsetInexactRepeating()
ます。そのため、KitKat と今後のバージョンでは、両方の方法でまったく同じことが行われます。
公式ドキュメントを参照すると、遅延は次のアラームには影響しません。
トリガー時間の要件が不正確な繰り返しアラームをスケジュールします。たとえば、1 時間ごとに繰り返されるアラームですが、毎正時になるとは限りません。これらのアラームは、setRepeating(int, long, long, PendingIntent) によって従来提供されていた厳密な繰り返しよりも電力効率が高くなります。これは、システムがアラームの配信時間を調整してアラームを同時に発生させ、デバイスが必要以上にスリープから復帰するのを回避できるためです。 .
アラームの最初のトリガーは要求された時間より前には発生しませんが、その時間以降はほぼ完全に発生しない可能性があります。さらに、繰り返しアラームの全体的な期間は要求どおりですが、アラームの連続する 2 つの発火の間の時間は異なる場合があります。アプリケーションが非常に低いジッタを必要とする場合は、代わりに適切なウィンドウでワンショット アラームを使用してください。setWindow(int, long, long, PendingIntent) および setExact(int, long, PendingIntent) を参照してください。
API 19 の時点で、繰り返されるアラームはすべて不正確です。このメソッドは API 3 以降で使用できるため、アプリケーションは安全に呼び出すことができ、Android の現在のバージョンと古いバージョンの両方で同様の動作が得られることが保証されます。