NotificationManager.SetAutomaticZenRuleState(String, Condition) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
通知通知管理員 AutomaticZenRule 的狀態已改變。
[Android.Runtime.Register("setAutomaticZenRuleState", "(Ljava/lang/String;Landroid/service/notification/Condition;)V", "GetSetAutomaticZenRuleState_Ljava_lang_String_Landroid_service_notification_Condition_Handler", ApiSince=29)]
public virtual void SetAutomaticZenRuleState(string id, Android.Service.Notification.Condition condition);
[<Android.Runtime.Register("setAutomaticZenRuleState", "(Ljava/lang/String;Landroid/service/notification/Condition;)V", "GetSetAutomaticZenRuleState_Ljava_lang_String_Landroid_service_notification_Condition_Handler", ApiSince=29)>]
abstract member SetAutomaticZenRuleState : string * Android.Service.Notification.Condition -> unit
override this.SetAutomaticZenRuleState : string * Android.Service.Notification.Condition -> unit
參數
- id
- String
字串:規則的 ID,其狀態應該會改變。 這個值不可能為零值。
- condition
- Condition
條件:此規則的新狀態。 這個值不可能為零值。
- 屬性
備註
通知通知管理員 AutomaticZenRule 的狀態已改變。 使用此方法將系統切換到請勿打擾模式,或請求退出請勿打擾模式。 呼叫應用程式必須擁有所提供的 AutomaticZenRule。 此方法可與 android.service.notification.ConditionProviderService.notifyCondition.notifyCondition(Condition) 搭配使用或取代。 如果使用者手動啟用或停用該規則,條件變更可被忽略——使用者可「覆寫」規則,規則在下一週期恢復正常運作。 當此情況發生時,該條件僅在自動狀態與使用者提供的狀態一致時才會被套用。 例如,假設 AutomaticZenRule 對應於具有自動駕駛偵測的「駕駛模式」。 App 偵測駕駛狀況並通知系統該規則應啟用,並以條件呼叫此方法,條件為 Condition.STATE_TRUE)。 使用者會因某些原因停用(「暫停」)該規則。 這會覆蓋應用程式提供的條件狀態。 App 還是偵測到駕駛,所以還是打電話給 Condition.STATE_TRUE。 系統會忽略此限制,因為使用者覆寫會佔上風。 過了一會兒,應用程式偵測到駕駛已停止,因此規則應該是非啟用狀態,並打電話給Condition.STATE_FALSE)。 這不會改變實際的規則狀態(因為使用者的覆寫,規則本身就已是非啟用狀態),但會清除覆寫。 過了一會兒,應用程式偵測到駕駛又開始了,並通知規則應該會啟動(再次呼叫Condition.STATE_TRUE)。 規則啟動。 請注意,如果應用程式同時指定 Condition.SOURCE_USER_ACTION 作為 Condition.source,步驟 #3 的行為會有所不同——使用者行動帶來的規則狀態更新不會被忽略。
Android 參考資料。android.app.NotificationManager.setAutomaticZenRuleState
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。