次の方法で共有


AlarmManager.SetExactAndAllowWhileIdle メソッド

定義

同様 #setExact(int, long, PendingIntent)ですが、システムが低電力アイドル モードの場合でも、このアラームの実行が許可されます。

[Android.Runtime.Register("setExactAndAllowWhileIdle", "(IJLandroid/app/PendingIntent;)V", "GetSetExactAndAllowWhileIdle_IJLandroid_app_PendingIntent_Handler", ApiSince=23)]
[Android.Runtime.RequiresPermission("android.permission.SCHEDULE_EXACT_ALARM")]
public virtual void SetExactAndAllowWhileIdle (Android.App.AlarmType type, long triggerAtMillis, Android.App.PendingIntent operation);
[<Android.Runtime.Register("setExactAndAllowWhileIdle", "(IJLandroid/app/PendingIntent;)V", "GetSetExactAndAllowWhileIdle_IJLandroid_app_PendingIntent_Handler", ApiSince=23)>]
[<Android.Runtime.RequiresPermission("android.permission.SCHEDULE_EXACT_ALARM")>]
abstract member SetExactAndAllowWhileIdle : Android.App.AlarmType * int64 * Android.App.PendingIntent -> unit
override this.SetExactAndAllowWhileIdle : Android.App.AlarmType * int64 * Android.App.PendingIntent -> unit

パラメーター

type
AlarmType

アラームの種類。

triggerAtMillis
Int64

(アラームの種類に応じて) 適切なクロックを使用して、アラームがオフにする時間 (ミリ秒単位)。

operation
PendingIntent

アラームがオフになったときに実行するアクション。通常は 〘 から PendingIntent#getBroadcast IntentSender.getBroadcast()来ています。

属性

注釈

同様 #setExact(int, long, PendingIntent)ですが、システムが低電力アイドル モードの場合でも、このアラームの実行が許可されます。 アラームの正確なスケジュール設定は必要ありませんが、アイドル状態で実行する必要がある場合は、次の使用 #setAndAllowWhileIdleを検討してください。 この種類のアラームは、アイドル状態の間にアラームが実際にオフになる必要がある状況では b>のみ</b> を使用する必要があります<。これは、ユーザーが認識できるように音を鳴らすカレンダー通知の場合です。 アラームがディスパッチされると、アプリはシステムの一時的な電源除外リストにも約 10 秒間追加され、アプリケーションが作業を完了するためのウェイク ロックをさらに取得できるようになります。</p>

これらのアラームは、アイドル時のデバイスの電力使用量に大きな影響を与える可能性があるため (そのため、アプリのスケジュール設定に対してバッテリの重大な責任が生じる)、注意して使用する必要があります。 不正使用を減らすために、特定のアプリケーションでこれらのアラームがオフになる頻度には制限があります。 通常のシステム操作では、これらのアラームは約毎分以上ディスパッチされません(その時点で、保留中のすべてのアラームがディスパッチされます)。低電力アイドル モードの場合、この期間は 15 分など、大幅に長くなる可能性があります。

他のアラームとは異なり、システムは、同じアプリからのアラームであっても、他のアラームと順不同に発生するように、このタイプのアラームを自由に再スケジュールすることができます。 これは、デバイスがアイドル状態の場合に明らかに発生します (このアラームはアイドル中にオフになる可能性があるため、アプリの他のアラームが後で保持される場合)、アイドル状態でない場合でも発生する可能性があります。 アプリケーションがこの動作を選択しているため、OS では通常の正確なアラームよりも、これらのアラームをスケジュールする柔軟性が高まる点に注意してください。 デバイスがアイドル状態になると、バッテリ寿命を最適化するために、スケジュール設定がさらに解放される可能性があります。

<p class="note"><strong>Note:</strong> Starting with Build.VERSION_CODES#S, apps targeting SDK level 31 or higher need to request Manifest.permission#SCHEDULE_EXACT_ALARM SCHEDULE_EXACT_ALARM the permission to use this API, unless the app is exempt from battery restrictions. ユーザーとシステムは、[設定] の特別なアプリ アクセス画面を使用して、このアクセス許可を取り消すことができます。

<p class="note"><strong>Note:</strong> Exact alarms should be used only for user-facing features. 詳細については、「正確なアラームのアクセス許可」を参照してください

この API を介してスケジュールされたアラームは、アプリがバックグラウンドにある場合でもフォアグラウンド サービスを開始できます。

の Java ドキュメントandroid.app.AlarmManager.setExactAndAllowWhileIdle(int, long, android.app.PendingIntent)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象