Context.RevokeSelfPermissionsOnKill(ICollection<String>) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
會觸發撤銷呼叫套件一個或多個權限。
[Android.Runtime.Register("revokeSelfPermissionsOnKill", "(Ljava/util/Collection;)V", "GetRevokeSelfPermissionsOnKill_Ljava_util_Collection_Handler", ApiSince=33)]
public virtual void RevokeSelfPermissionsOnKill(System.Collections.Generic.ICollection<string> permissions);
[<Android.Runtime.Register("revokeSelfPermissionsOnKill", "(Ljava/util/Collection;)V", "GetRevokeSelfPermissionsOnKill_Ljava_util_Collection_Handler", ApiSince=33)>]
abstract member RevokeSelfPermissionsOnKill : System.Collections.Generic.ICollection<string> -> unit
override this.RevokeSelfPermissionsOnKill : System.Collections.Generic.ICollection<string> -> unit
參數
- permissions
- ICollection<String>
將撤銷的授權收集。
- 屬性
備註
會觸發撤銷呼叫套件一個或多個權限。 套件只能撤銷執行時權限。 如果目前沒有授權,該權限會被忽略,且不會被撤銷(即使後來由使用者授權)。 最終,你絕不應該對許可狀態做出假設,因為使用者隨時可以授權或撤銷權限。
若背景許可在撤銷生效後仍未獲得對應的前景許可,也會被撤銷。
撤銷是非同步發生的,並終止呼叫 UID 中所有正在執行的程序。 一旦安全時,它就會被觸發。 特別是,只要套件仍處於前景,或有任何活躍的清單元件(例如當其他應用程式存取套件中的內容提供者時),該程式不會被觸發。
如果你想立刻撤銷權限,可以打電話System.exit()Handler.postDelayed延遲讓非同步 IPC 完成,但System.exit()可能會影響目前正在存取你應用程式的其他應用程式。 例如,存取你應用程式內容提供者的應用程式都會當機。
請注意,設定介面顯示只要群組中至少有一個權限被授予,就顯示該權限群組已授予。 如果你想讓使用者在設定中看到撤銷,你應該撤銷目標群組中的所有權限。 要了解群組中目前的權限清單,你可以使用 PackageManager#getGroupOfPlatformPermission(String, Executor, Consumer) 和 PackageManager#getPlatformPermissionsForGroup(String, Executor, Consumer)。 這份權限清單可能會隨時間演變,因此建議在嘗試撤銷整個群組前,先確認其中是否包含你想保留的權限。
Java 文件 android.content.Context.revokeSelfPermissionsOnKill(java.util.Collection<java.lang.String>)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。