語言

AlarmManager 類別

定義

此類別提供系統警報服務的存取。

[Android.Runtime.Register("android/app/AlarmManager", DoNotGenerateAcw=true)]
public class AlarmManager : Java.Lang.Object
[<Android.Runtime.Register("android/app/AlarmManager", DoNotGenerateAcw=true)>]
type AlarmManager = class
    inherit Object
繼承
AlarmManager
屬性

備註

此類別提供系統警報服務的存取。 這些功能讓你能安排申請在未來某個時間點執行。 當警報響起時,系統會廣播已註冊的意圖,若目標應用程式尚未執行,則自動啟動。 登錄警報會在裝置休眠時保留(若警報響起,可選擇喚醒裝置),但若關閉並重啟警報,警報會被清除。 只要警報接收器的 onReceive() 方法正在執行,警報管理器就會保留 CPU 喚醒鎖。 這確保手機在你完成廣播處理前不會休眠。 當 onReceive() 返回時,警報管理器會釋放這個喚醒鎖。 這表示手機在某些情況下會在你的 onReceive() 方法完成後立即進入睡眠狀態。 如果你的鬧鐘接收器叫做 Context.startService(),手機可能會在啟動請求服務前進入睡眠狀態。 為防止這種情況,您的 BroadcastReceiver 與服務需實施獨立的喚醒鎖定政策,確保手機在服務恢復前能持續運作。 注意:警報管理器適用於您希望應用程式程式碼在特定時間執行的情況,即使應用程式目前尚未執行。 對於一般的計時操作(tick、timeouts 等),使用 Handler 會更簡單且更有效率。 註:自 API 19(Build.VERSION_CODES 起。KITKAT)警報傳遞並不精確:作業系統會調整警報以減少喚醒和電池使用。 有新的 API 支援需要嚴格交付保證的應用程式;參見 setWindow(int, long, long, PendingIntent) 與 setExact(int, long, PendingIntent)。 目標Sdk版本早於API 19的應用程式,仍會看到先前所有警報皆準時交付的行為。

Android 參考資料。android.app.AlarmManager

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
AlarmManager(IntPtr, JniHandleOwnership)

初始化現有 Java 原生介面物件的受管理表示。

欄位

名稱 Description
ActionNextAlarmClockChanged

廣播動作:在返回的值 #getNextAlarmClock() 改變後發送。

ActionScheduleExactAlarmPermissionStateChanged

廣播動作:應用程式獲得 android.Manifest.permission#SCHEDULE_EXACT_ALARM 權限。

IntervalDay

可用不精確重現區間由 #setInexactRepeating(int, long, long, PendingIntent) 在 API 19 之前的 Android 上運行時。

IntervalFifteenMinutes

可用不精確重現區間由 #setInexactRepeating(int, long, long, PendingIntent) 在 API 19 之前的 Android 上運行時。

IntervalHalfDay

可用不精確重現區間由 #setInexactRepeating(int, long, long, PendingIntent) 在 API 19 之前的 Android 上運行時。

IntervalHalfHour

可用不精確重現區間由 #setInexactRepeating(int, long, long, PendingIntent) 在 API 19 之前的 Android 上運行時。

IntervalHour

可用不精確重現區間由 #setInexactRepeating(int, long, long, PendingIntent) 在 API 19 之前的 Android 上運行時。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

此類別提供系統警報服務的存取。

(繼承來源 JavaObject)
JniPeerMembers

提供 Android.App.AlarmManager 的 JNI 綁定基礎設施。

NextAlarmClock

獲取下一個鬧鐘目前預定的資訊。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

提供 Android.App.AlarmManager 的 JNI 綁定基礎設施。

ThresholdType

提供 Android.App.AlarmManager 的 JNI 綁定基礎設施。

方法

名稱 Description
Cancel(AlarmManager+IOnAlarmListener)

移除所有預定送達給該 OnAlarmListener 的鬧鐘。

Cancel(PendingIntent)

移除所有警報器,並搭配 Intent。

CancelAll()

移除所有先前由來電者設定的警報(如有)。

CanScheduleExactAlarms()

打電話確認對方能否安排精確的鬧鐘。

Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

此類別提供系統警報服務的存取。

(繼承來源 JavaObject)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

此類別提供系統警報服務的存取。

(繼承來源 JavaObject)
Equals(Object)

此類別提供系統警報服務的存取。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
FromContext(Context)
GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
Set(AlarmType, Int64, PendingIntent)

設定鬧鐘。

Set(AlarmType, Int64, String, AlarmManager+IOnAlarmListener, Handler)

set(int、long、PendingIntent)的直接回調版本。

SetAlarmClock(AlarmManager+AlarmClockInfo, PendingIntent)

安排一個代表鬧鐘的鬧鐘,用來通知使用者鬧鐘響起。

SetAndAllowWhileIdle(AlarmType, Int64, PendingIntent)

像 #set(int, long, PendingIntent),但即使系統處於低功耗閒置狀態(a.

SetExact(AlarmType, Int64, PendingIntent)

請安排警報在指定時間準確送達。

SetExact(AlarmType, Int64, String, AlarmManager+IOnAlarmListener, Handler)

setExact(int, long, PendingIntent) 的直接回調版本。

SetExactAndAllowWhileIdle(AlarmType, Int64, PendingIntent)

像 #setExact(int, long, PendingIntent),但即使系統處於低功耗閒置狀態,這個警報仍會被允許執行。

SetExactAndAllowWhileIdle(AlarmType, Int64, String, IExecutor, AlarmManager+IOnAlarmListener)

類似 setExact(int, long, String, OnAlarmListener, Handler),但即使系統處於低功耗閒置模式,這個警報仍被允許執行。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetInexactRepeating(AlarmType, Int64, Int64, PendingIntent)

安排一個重複警報,但觸發時間要求不精確;例如,鬧鐘每小時重複一次,但不一定在整點開始。

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

此類別提供系統警報服務的存取。

(繼承來源 JavaObject)
SetRepeating(AlarmType, Int64, Int64, PendingIntent)

安排重複警報。

SetTime(Int64)

設定系統的壁鐘時間。

SetTimeZone(String)

設定系統的永久預設時區。

SetWindow(AlarmType, Int64, Int64, PendingIntent)

安排一個警報器,在指定時間內送達。

SetWindow(AlarmType, Int64, Int64, String, AlarmManager+IOnAlarmListener, Handler)

setWindow(int, long, long, PendingIntent) 的直接回調版本。

SetWindow(AlarmType, Int64, Int64, String, IExecutor, AlarmManager+IOnAlarmListener)

setWindow(int, long, long, PendingIntent) 的直接回調版本。

ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

此類別提供系統警報服務的存取。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

此類別提供系統警報服務的存取。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

此類別提供系統警報服務的存取。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

此類別提供系統警報服務的存取。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

此類別提供系統警報服務的存取。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

此類別提供系統警報服務的存取。

(繼承來源 JavaObject)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

此類別提供系統警報服務的存取。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於