語言

DevicePolicyManager.AddPersistentPreferredActivity 方法

定義

由設定檔擁有者、裝置擁有者或權限 android.Manifest.permission#MANAGE_DEVICE_POLICY_LOCK_TASK持有者呼叫。

[Android.Runtime.Register("addPersistentPreferredActivity", "(Landroid/content/ComponentName;Landroid/content/IntentFilter;Landroid/content/ComponentName;)V", "GetAddPersistentPreferredActivity_Landroid_content_ComponentName_Landroid_content_IntentFilter_Landroid_content_ComponentName_Handler")]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK")]
public virtual void AddPersistentPreferredActivity(Android.Content.ComponentName? admin, Android.Content.IntentFilter? filter, Android.Content.ComponentName activity);
[<Android.Runtime.Register("addPersistentPreferredActivity", "(Landroid/content/ComponentName;Landroid/content/IntentFilter;Landroid/content/ComponentName;)V", "GetAddPersistentPreferredActivity_Landroid_content_ComponentName_Landroid_content_IntentFilter_Landroid_content_ComponentName_Handler")>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_LOCK_TASK")>]
abstract member AddPersistentPreferredActivity : Android.Content.ComponentName * Android.Content.IntentFilter * Android.Content.ComponentName -> unit
override this.AddPersistentPreferredActivity : Android.Content.ComponentName * Android.Content.IntentFilter * Android.Content.ComponentName -> unit

參數

admin
ComponentName

這個請求就是和這個 DeviceAdminReceiver 問題有關的。 如果呼叫者不是裝置管理員,則為 Null。

filter
IntentFilter

IntentFilter 會加入預設處理程序。

activity
ComponentName

作為預設意圖處理程序新增的活動。

屬性

備註

由設定檔擁有者、裝置擁有者或權限 android.Manifest.permission#MANAGE_DEVICE_POLICY_LOCK_TASK持有者呼叫。 設定系統選擇的預設活動來處理與給定 IntentFilter 意圖相符的意圖,而非顯示預設的消歧義機制。 即使意圖過濾器的潛在事件處理程序集合改變且意圖偏好設定被重置,此活動仍會維持預設的意圖處理程序。

請注意,目標應用程式仍應在清單中宣告該活動,API 只是將該活動設定為預設的,用來處理該意圖過濾器。

如果該活動沒有安裝(已經不再安裝),預設的消歧義機制會接手。 當該活動被(重新)安裝時,它會自動重置為過濾器的預設意圖處理程序。

請注意,呼叫此 API 以設定預設意圖處理器時,僅允許避免預設的消歧義機制。 不會觸發此機制的隱含意圖(如呼叫瀏覽器)無法被設定,因為它們由其他設定控制。

呼叫裝置管理員必須是設定檔擁有者或裝置擁有者。 若不符合,則會拋出安全例外。

Build.VERSION_CODES#UPSIDE_DOWN_CAKE從 開始,當持久優先活動政策設定完成後,PolicyUpdateReceiver#onPolicySetResult(Context, String, Bundle, TargetUser, PolicyUpdateResult)會通知管理員該政策是否成功設定。 此回調將包含:ul>li 政策識別碼 DevicePolicyIdentifiers#PERSISTENT_PREFERRED_ACTIVITY_POLICY<li> 附加政策參數包,包含PolicyUpdateReceiver#EXTRA_INTENT_FILTER政策套用的><意圖過濾器 li 此TargetUser政策與 <li> 的關聯 ,PolicyUpdateResultPolicyUpdateResult#RESULT_POLICY_SET政策是否成功設定或政策未設定的原因(例如 PolicyUpdateResult#RESULT_FAILURE_CONFLICTING_ADMIN_POLICY) </ul> 若政策有變更,><<PolicyUpdateReceiver#onPolicyChanged(Context, String, Bundle, TargetUser, PolicyUpdateResult)會通知管理員此變更。 此回調將包含與 PolicyUpdateReceiver#onPolicySetResult 相同的參數,並 PolicyUpdateResult 包含政策變更的原因。

注意:執行磁碟 I/O,主執行緒不應被呼叫。

Java 文件 android.app.admin.DevicePolicyManager.addPersistentPreferredActivity(android.content.ComponentName, android.content.IntentFilter, android.content.ComponentName)

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

適用於