AppOpsManager.NoteOp Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| NoteOp(String, Int32, String) |
Questo metodo è stato deprecato nel livello API 30. |
| NoteOp(String, Int32, String, String, String) |
Prendere nota di un'applicazione che esegue un'operazione e verificare se l'applicazione è autorizzata a eseguirla. |
NoteOp(String, Int32, String)
Questo metodo è stato deprecato nel livello 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
Parametri
- op
- String
Stringa: questo valore non può essere Null.
- uid
- Int32
int
- packageName
- String
Stringa: questo valore non può essere Null.
Valori restituiti
- Attributi
Commenti
Questo metodo è stato deprecato nel livello API 30. Usare invece noteOp(String,int,String,String,String)
Informazioni di riferimento su Android per android.app.AppOpsManager.noteOp.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
NoteOp(String, Int32, String, String, String)
Prendere nota di un'applicazione che esegue un'operazione e verificare se l'applicazione è autorizzata a eseguirla.
[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
Parametri
- op
- String
Stringa: operazione da annotare. Una delle costanti OPSTR_*. Questo valore non può essere Null.
- uid
- Int32
int: uid dell'applicazione che tenta di eseguire l'operazione.
- packageName
- String
Stringa: nome dell'applicazione che tenta di eseguire l'operazione. Questo valore può essere Null.
- attributionTag
- String
Stringa: tag di attribuzione del contesto chiamante o Null per l'attribuzione predefinita
- message
- String
Stringa: messaggio che descrive il motivo per cui è stato annotato l'op. Questo valore può essere Null.
Valori restituiti
- Attributi
Commenti
Prendere nota di un'applicazione che esegue un'operazione e verificare se l'applicazione è autorizzata a eseguirla. Se si tratta di un controllo che non precede l'operazione protetta, usare invece unsafeCheckOp(String, int, String). L'identità del pacchetto per cui l'app-op è specificata dai parametri uid e packageName. Se questa opzione è nota per una normale app deve essere impostata e il pacchetto deve far parte dell'uid. Nel caso molto raro in cui un'entità app-op sia nota per un'entità che non ha un nome di pacchetto, il pacchetto può essere Null. Poiché è possibile che un singolo processo contenga più pacchetti, packageName deve essere letto dal contesto del chiamante dell'API (nel processo dell'app) che alla fine attiva questo controllo. Se questo op non è indicato per un processo in esecuzione, packageName non può essere letto dal contesto, ma deve essere chiaro per quale pacchetto si trova la nota. Se uid e packageName non corrispondono a questo MODE_IGNORED restituito. Accanto al controllo di accesso, questo metodo registra anche l'accesso. Mentre il controllo di accesso è basato su uid e/o packageName, la registrazione di accesso viene eseguita in base al packageName e all'attribuzioneTag. L'attribuzioneTag deve essere letta dallo stesso contesto da cui viene letto il nome del pacchetto. Nel caso in cui il controllo non sia correlato a una chiamata API, l'attribuzioneTag deve essere null. Si noti che, ad esempio, la registrazione di un callback per un secondo momento è ancora una chiamata API e il codice deve archiviare il tag di attribuzione lungo il nome del pacchetto da usare in questo metodo in un secondo momento. Il parametro message deve essere impostato solo quando questo metodo non viene chiamato in una chiamata di binder bidirezionale dal client. In questo caso il messaggio è un testo in formato libero che consente allo sviluppatore dell'app di determinare quale parte del codice dell'app ha attivato la nota. Questo messaggio viene passato all'app nel callback OnOpNotedCallback.onAsyncNoted(AsyncNotedAppOp). Un buon esempio di un messaggio utile consiste nell'includere system.identityHashCode(Object) del listener che riceverà dati o il nome del ricevitore manifesto.
Genera: SecurityException Se l'app è stata configurata per arrestarsi in modo anomalo su questo op.
Informazioni di riferimento su Android per android.app.AppOpsManager.noteOp.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.