AppOpsManager.NoteOp Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| NoteOp(String, Int32, String) |
Esse método foi preterido no nível 30 da API. |
| NoteOp(String, Int32, String, String, String) |
Anote um aplicativo executando uma operação e verifique se o aplicativo tem permissão para executá-la. |
NoteOp(String, Int32, String)
Esse método foi preterido no nível 30 da API.
[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
Parâmetros
- op
- String
Cadeia de caracteres: esse valor não pode ser nulo.
- uid
- Int32
int
- packageName
- String
Cadeia de caracteres: esse valor não pode ser nulo.
Retornos
- Atributos
Comentários
Esse método foi preterido no nível 30 da API. Use noteOp(String, int, String, String,String) em vez disso
Referência do Android para android.app.AppOpsManager.noteOp.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Aplica-se a
NoteOp(String, Int32, String, String, String)
Anote um aplicativo executando uma operação e verifique se o aplicativo tem permissão para executá-la.
[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
Parâmetros
- op
- String
Cadeia de caracteres: a operação a ser observada. Uma das constantes OPSTR_*. Esse valor não pode ser nulo.
- uid
- Int32
int: a uid do aplicativo que está tentando executar a operação.
- packageName
- String
Cadeia de caracteres: o nome do aplicativo que está tentando executar a operação. Esse valor pode ser nulo.
- attributionTag
- String
Cadeia de caracteres: a marca de atribuição do contexto de chamada ou nulo para a atribuição padrão
- message
- String
Cadeia de caracteres: uma mensagem que descreve por que a operação foi anotada. Esse valor pode ser nulo.
Retornos
- Atributos
Comentários
Anote um aplicativo executando uma operação e verifique se o aplicativo tem permissão para executá-la. Se essa for uma verificação que não esteja precedendo a operação protegida, use unsafeCheckOp(String, int, String) em vez disso. A identidade do pacote para o qual a app-op é indicada é especificada pelos parâmetros uid e packageName. Se isso for observado para um aplicativo regular, ambos deverão ser definidos e o pacote precisará fazer parte da uid. No caso muito raro de uma operação de aplicativo ser indicada para uma entidade que não tem um nome de pacote, o pacote pode ser nulo. Como é possível que um único processo contenha mais de um pacote, o packageName deve ser lido do contexto do chamador da API (no processo do aplicativo) que eventualmente dispara essa verificação. Se esta operação não for indicada para um processo em execução, o packageName não poderá ser lido do contexto, mas deve ficar claro para qual pacote a anotação serve. Se o uid e o packageName não corresponderem a esse retorno MODE_IGNORED. Ao lado da verificação de acesso, esse método também registra o acesso. Embora a verificação de acesso seja baseada em uid e/ou packageName, a gravação de acesso é feita com base no packageName e attributionTag. A attributionTag deve ser lida no mesmo contexto do qual o nome do pacote é lido. No caso de a verificação não estar relacionada a uma chamada à API, a attributionTag deve ser nula. Observe que, por exemplo, registrar um retorno de chamada para mais tarde ainda é uma chamada à API e o código deve armazenar a marca de atribuição ao longo do nome do pacote para ser usado neste método mais tarde. O parâmetro de mensagem só precisa ser definido quando esse método não é chamado em uma chamada de associador bidirecional do cliente. Nesse caso, a mensagem é um texto de formulário gratuito que significa ajudar o desenvolvedor do aplicativo a determinar qual parte do código do aplicativo disparou a anotação. Essa mensagem é passada de volta para o aplicativo no retorno de chamada OnOpNotedCallback.onAsyncNoted(AsyncNotedAppOp). Um bom exemplo de uma mensagem útil é incluir o System.identityHashCode(Object) do ouvinte que receberá dados ou o nome do receptor de manifesto.
Lançamentos: SecurityException se o aplicativo tiver sido configurado para falha nesta operação.
Referência do Android para android.app.AppOpsManager.noteOp.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.