AppOpsManager.NoteOp Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| NoteOp(String, Int32, String) |
Diese Methode war in API-Ebene 30 veraltet. |
| NoteOp(String, Int32, String, String, String) |
Notieren Sie sich eine Anwendung, die einen Vorgang ausführt, und überprüfen Sie, ob die Anwendung sie ausführen darf. |
NoteOp(String, Int32, String)
Diese Methode war in API-Ebene 30 veraltet.
[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
Parameter
- op
- String
Zeichenfolge: Dieser Wert darf nicht null sein.
- uid
- Int32
int
- packageName
- String
Zeichenfolge: Dieser Wert darf nicht null sein.
Gibt zurück
- Attribute
Hinweise
Diese Methode war in API-Ebene 30 veraltet. Verwenden Sie stattdessen noteOp(String,int,String,String,String)
Android-Referenz für android.app.AppOpsManager.noteOp.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Gilt für:
NoteOp(String, Int32, String, String, String)
Notieren Sie sich eine Anwendung, die einen Vorgang ausführt, und überprüfen Sie, ob die Anwendung sie ausführen darf.
[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
Parameter
- op
- String
Zeichenfolge: Der zu notierende Vorgang. Eine der OPSTR_*-Konstanten. Dieser Wert darf nicht NULL sein.
- uid
- Int32
int: Die UID der Anwendung, die versucht, den Vorgang auszuführen.
- packageName
- String
Zeichenfolge: Der Name der Anwendung, die versucht, den Vorgang auszuführen. Dieser Wert kann null sein.
- attributionTag
- String
Zeichenfolge: Das Attributionstag des aufrufenden Kontexts oder null für die Standardzuordnung
- message
- String
Zeichenfolge: Eine Meldung, die beschreibt, warum der Vorgang angegeben wurde. Dieser Wert kann null sein.
Gibt zurück
- Attribute
Hinweise
Notieren Sie sich eine Anwendung, die einen Vorgang ausführt, und überprüfen Sie, ob die Anwendung sie ausführen darf. Wenn dies eine Überprüfung ist, die dem geschützten Vorgang nicht vorausgeht, verwenden Sie stattdessen "unsafeCheckOp(String, int, String)". Die Identität des Pakets, für das die App-Op angegeben ist, wird durch die Parameter "uid" und "packageName" angegeben. Wenn dies für eine normale App angegeben ist, sollten beide festgelegt werden, und das Paket muss Teil der UID sein. In dem sehr seltenen Fall, dass ein App-Op für eine Entität angegeben ist, die keinen Paketnamen aufweist, kann das Paket NULL sein. Da es möglich ist, dass ein einzelner Prozess mehr als ein Paket enthält, sollte der packageName aus dem Kontext des Aufrufers der API (im App-Prozess) gelesen werden, der diese Überprüfung schließlich auslöst. Wenn dieser Vorgang für einen ausgeführten Prozess nicht angegeben ist, kann der packageName nicht aus dem Kontext gelesen werden, aber es sollte klar sein, für welches Paket die Notiz gilt. Wenn die UID und der packageName nicht mit dieser Rückgabe übereinstimmen, MODE_IGNORED. Neben der Zugriffsüberprüfung zeichnet diese Methode auch den Zugriff auf. Während die Zugriffsüberprüfung auf uid und/oder packageName basiert, erfolgt die Zugriffsaufzeichnung basierend auf "packageName" und "attributionTag". Das attributionTag sollte aus demselben Kontext gelesen werden, aus dem der Paketname gelesen wird. Falls die Prüfung nicht mit einem API-Aufruf verknüpft ist, sollte das attributionTag null sein. Bitte beachten Sie, dass z. B. das Registrieren eines Rückrufs für später noch ein API-Aufruf ist und der Code das Attributionstag entlang des Paketnamens speichern sollte, der später in dieser Methode verwendet wird. Der Nachrichtenparameter muss nur festgelegt werden, wenn diese Methode nicht in einem bidirektionale Sammelordneraufruf vom Client aufgerufen wird. In diesem Fall handelt es sich bei der Nachricht um einen kostenlosen Formulartext, der dem App-Entwickler dabei hilft, zu bestimmen, welcher Teil des App-Codes die Notiz ausgelöst hat. Diese Nachricht wird zurück an die App im OnOpNotedCallback.onAsyncNoted(AsyncNotedAppOp)-Rückruf übergeben. Ein gutes Beispiel für eine nützliche Nachricht ist das Einschließen des System.identityHashCode(Object) des Listeners, der Daten oder den Namen des Manifestempfängers empfängt.
Throws: SecurityException If the app has been configured to crash on this op.
Android-Referenz für android.app.AppOpsManager.noteOp.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.