ホームページ >Java >&#&チュートリアル >Android で AlarmManager を使用して 20 分後にコードをトリガーするにはどうすればよいですか?

Android で AlarmManager を使用して 20 分後にコードをトリガーするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-05 01:00:15329ブラウズ

How Can I Use AlarmManager in Android to Trigger Code After 20 Minutes?

Android での AlarmManager の使用法をわかりやすく説明する

AlarmManager は、開発者が特定の時間に実行するタスクをスケジュールできる Android の強力なツールです。 。これは、アプリが実行中でないときでも特定のアクションを実行する必要がある場合に特に便利です。ただし、Android 開発の初心者にとって、その複雑さを理解するのは困難な場合があります。

質問:

AlarmManager で苦労しています。20 秒後にコードをトリガーするための実用的な例を入手できますか?分?

解決策:

遅延タスク用に AlarmManager を設定するには、いくつかの手順が必要です。その使用方法を示す包括的なコード スニペットを次に示します。

// Get the AlarmManager instance from the Android system
AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

// Create an Intent to be triggered for the alarm
Intent intent = new Intent(context, OnAlarmReceiver.class);

// Convert the Intent into a PendingIntent to pass it to the AlarmManager
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

// Set up a repeating alarm based on elapsed real-world time, with a trigger every 20 minutes
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), 20 * 60 * 1000, pendingIntent);

この例では、setRepeating() メソッドを使用して 20 分ごとにトリガーされる繰り返しアラームを作成します。最初のパラメータは時間ベースを指定します。この場合、これは実際の経過時間 (デバイスの起動以降) です。 2 番目のパラメータは現在の時刻を表します。 3 番目のパラメーターはアラーム間の間隔を示し、4 番目のパラメーターは、起動されるインテントをカプセル化する PendingIntent です。

AlarmManager を使用する場合は、タイムベースに影響を与える可能性があるため、タイムベースを慎重に考慮することが重要であることに注意してください。スケジュールの正確さ。たとえば、ELAPSED_REALTIME_WAKEUP の代わりに AlarmManager.RTC_WAKEUP を使用すると、デバイスの実際の時間が使用されますが、これは夏時間などの調整の影響を受ける可能性があります。

さらに、AlarmManager は、特に、正確な実行時間を保証しない可能性があることにも言及する価値があります。省電力モードで。アプリで正確なタイミングが必要な場合は、JobScheduler などの代替ソリューションを検討してください。

以上がAndroid で AlarmManager を使用して 20 分後にコードをトリガーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。