Fragment.RequestPermissions(String[], Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
請求授權給此應用程式。
[Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;I)V", "", ApiSince=23)]
public void RequestPermissions(string[] permissions, int requestCode);
[<Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;I)V", "", ApiSince=23)>]
member this.RequestPermissions : string[] * int -> unit
參數
- permissions
- String[]
他們請求了許可。 必須非虛無,也非空。
- requestCode
- Int32
應用程式專用的請求代碼以匹配報告給 #onRequestPermissionsResult(int, String[], int[])的結果。
應該是 >= 0。
- 屬性
備註
請求授權給此應用程式。 這些權限必須在你的清單中申請,不應授予你的應用程式,且無論是由平台或第三方應用程式申報,都必須具備PROTECTION_DANGEROUS危險等級。 正常權限PermissionInfo.PROTECTION_NORMAL會在安裝時於清單中請求時授予。 簽名權限PermissionInfo.PROTECTION_SIGNATURE會在安裝時授予,前提是清單中要求,且你的應用程式簽名與宣告權限的應用程式簽名相符。
在呼叫此 API 前,請先呼叫 shouldShowRequestPermissionRationale(String),確認系統是否建議在請求權限前先顯示 Rationale UI。
如果你的應用程式沒有請求的權限,使用者會看到一個接受權限的介面。 使用者接受或拒絕所請求的權限後,您將收到 onRequestPermissionsResult(int,String[],int[])的回撥,回報是否授權。
請注意,請求權限並不保證一定會獲得,應用程式在沒有此權限的情況下應該能執行。
此方法可啟動一項活動,讓使用者選擇授予與拒絕的權限。 因此,你應該準備好,你的活動可能會被暫停並恢復。 此外,授予某些權限可能需要重新啟動應用程式。 在這種情況下,系統會在將結果交付給 onRequestPermissionsResult(int,String[],int[])之前,重新建立活動堆疊。
檢查是否有權限時,應該使用 android.content.Context.checkSelfPermission(String)。
呼叫這個 API 對已授予你的應用程式權限,會顯示使用者介面,讓使用者判斷該應用程式是否還能持有這些權限。 如果你的應用程式使用權限保護的資料方式有顯著變化,這會很有用。
如果你的活動將 noHistory 設為 true,你無法請求權限,因為此時該活動不會收到包括 onRequestPermissionsResult(int,String[],int[])在內的結果回調。
另請參閱:
Android 參考資料。android.app.Fragment.requestPermissions
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。