語言

DevicePolicyManager.SetResetPasswordToken(ComponentName, Byte[]) 方法

定義

由設定檔或裝置擁有者呼叫以配置一個令牌,之後可用來重設裝置鎖畫面密碼(若由設定檔擁有者呼叫),或透過 管理設定檔挑戰(若設定檔擁有者呼叫),透過 #resetPasswordWithToken

[Android.Runtime.Register("setResetPasswordToken", "(Landroid/content/ComponentName;[B)Z", "GetSetResetPasswordToken_Landroid_content_ComponentName_arrayBHandler", ApiSince=26)]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD")]
public virtual bool SetResetPasswordToken(Android.Content.ComponentName? admin, byte[]? token);
[<Android.Runtime.Register("setResetPasswordToken", "(Landroid/content/ComponentName;[B)Z", "GetSetResetPasswordToken_Landroid_content_ComponentName_arrayBHandler", ApiSince=26)>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_RESET_PASSWORD")>]
abstract member SetResetPasswordToken : Android.Content.ComponentName * byte[] -> bool
override this.SetResetPasswordToken : Android.Content.ComponentName * byte[] -> bool

參數

admin
ComponentName

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

token
Byte[]

一個至少 32 位元組長的安全標記,必須由具有密碼學強度的隨機數產生器產生。

傳回

若操作成功,則為 true;否則為 false。

屬性

備註

由設定檔或裝置擁有者呼叫以配置一個令牌,之後可用來重設裝置鎖畫面密碼(若由設定檔擁有者呼叫),或透過 管理設定檔挑戰(若設定檔擁有者呼叫),透過 #resetPasswordWithToken

若使用者目前持有鎖定畫面密碼,所設定的令牌將無法立即使用;只有在使用者執行確認憑證操作後才會啟用,該操作可由 KeyguardManager#createConfirmDeviceCredentialIntent觸發。 若使用者沒有鎖定畫面密碼,令牌會立即啟用。 在所有情況下,可用 來檢查 #isResetPasswordTokenActive當前代幣的有效狀態。 出於安全考量,未啟用的令牌只會儲存在記憶體中,裝置重啟後會遺失。 此時需重新配置新的令牌。

一旦配置並啟用,即使使用者更改或清除鎖定畫面密碼,該令牌仍會有效。

<em>這個憑證非常敏感,應該與使用者憑證同等處理。 特別是,絕不要將此令牌以明文形式儲存在裝置上。 若在使用者解鎖前,若需在檔案加密裝置重設密碼時,則不應將明文令牌儲存在裝置加密儲存中。 仔細考慮任何密碼令牌會如何儲存在你的伺服器上,以及誰需要存取它們。 代幣可能會成為法律存取請求的對象。 </em>

在不支援 PackageManager#FEATURE_SECURE_LOCK_SCREEN 此功能的裝置上,重置令牌未被設定,此方法會回傳 false。

Java 文件 android.app.admin.DevicePolicyManager.setResetPasswordToken(android.content.ComponentName, byte[])

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

適用於