語言

AppOpsManager.NoteOp 方法

定義

多載

名稱 Description
NoteOp(String, Int32, String)

此方法在 API 等級 30 中被棄用。

NoteOp(String, Int32, String, String, String)

記錄應用程式執行操作的情形,並確認該應用程式是否被允許執行該操作。

NoteOp(String, Int32, String)

此方法在 API 等級 30 中被棄用。

[Android.Runtime.Register("noteOp", "(Ljava/lang/String;ILjava/lang/String;)I", "GetNoteOp_Ljava_lang_String_ILjava_lang_String_Handler")]
public virtual Android.App.AppOpsManagerMode NoteOp(string op, int uid, string packageName);
[<Android.Runtime.Register("noteOp", "(Ljava/lang/String;ILjava/lang/String;)I", "GetNoteOp_Ljava_lang_String_ILjava_lang_String_Handler")>]
abstract member NoteOp : string * int * string -> Android.App.AppOpsManagerMode
override this.NoteOp : string * int * string -> Android.App.AppOpsManagerMode

參數

op
String

字串:此值不可能為空值。

uid
Int32

int

packageName
String

字串:此值不可能為空值。

傳回

屬性

備註

此方法在 API 等級 30 中被棄用。 改用 noteOp(String, int, String, String, String, String)

Android 參考資料。android.app.AppOpsManager.noteOp

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

適用於

NoteOp(String, Int32, String, String, String)

記錄應用程式執行操作的情形,並確認該應用程式是否被允許執行該操作。

[Android.Runtime.Register("noteOp", "(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I", "GetNoteOp_Ljava_lang_String_ILjava_lang_String_Ljava_lang_String_Ljava_lang_String_Handler", ApiSince=30)]
public virtual Android.App.AppOpsManagerMode NoteOp(string op, int uid, string? packageName, string? attributionTag, string? message);
[<Android.Runtime.Register("noteOp", "(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I", "GetNoteOp_Ljava_lang_String_ILjava_lang_String_Ljava_lang_String_Ljava_lang_String_Handler", ApiSince=30)>]
abstract member NoteOp : string * int * string * string * string -> Android.App.AppOpsManagerMode
override this.NoteOp : string * int * string * string * string -> Android.App.AppOpsManagerMode

參數

op
String

弦:需要音符的操作。 這是OPSTR_*不變的原則之一。 這個值不可能為零值。

uid
Int32

int:嘗試執行該操作的應用程式的 UID。

packageName
String

字串:嘗試執行操作的應用程式名稱。 這個值可能是 Null。

attributionTag
String

字串:呼叫上下文的歸因標籤或預設歸因的 null 標籤

message
String

字串:描述行動被記錄的原因的訊息。 這個值可能是 Null。

傳回

屬性

備註

記錄應用程式執行操作的情形,並確認該應用程式是否被允許執行該操作。 如果這個檢查不在受保護操作之前,則改用 unsafeCheckOp(String, int, String)。 app-op 所標記的套件身份由 uid 與 packageName 參數決定。 如果一般應用程式有標示這點,兩者都應該設定,且套件必須包含在 UI 中。 在極少數情況下,app-op 被標記為沒有套件名稱的實體,該套件可能會為 null。 由於同一程序可能包含多個套件,packageName 應從 API 呼叫者(在應用程式程序中)的上下文中讀取,最終觸發此檢查。 如果這個操作沒有被標記為執行中的程序,packageName 就無法從上下文讀取,但應該會清楚知道該備註是針對哪個套件。 如果 UID 和 packageName 不符,則MODE_IGNORED回傳。 除了存取檢查外,此方法也會記錄存取權限。 雖然存取檢查是基於 uid 和/或 packageName,但存取記錄則是根據 packageName 和 attributionTag 進行。 attributionTag 應該從讀取套件名稱的同一個上下文中讀取。 若檢查與 API 呼叫無關,attributionTag 應為空。 請注意,例如註冊回調以備後續,仍是 API 呼叫,程式碼應將歸因標籤與套件名稱一同儲存,以便日後使用此方法。 訊息參數僅在用戶端未在雙向綁定器呼叫中呼叫時設定。 此時訊息是自由形式的文字,目的是幫助應用程式開發者判斷應用程式程式碼中哪一部分觸發了該備註。 此訊息會以 OnOpNotedCallback.onAsyncNoted(AsyncNotedAppOp) 回調方式回傳給應用程式。 一個有用的訊息範例是包含將接收資料的監聽者的 System.identityHashCode(Object) 或清單接收者的名稱。

Throws:SecurityException 如果應用程式在這次操作中被設定成當機。

Android 參考資料。android.app.AppOpsManager.noteOp

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

適用於