Lenguaje

AppOpsManager Clase

Definición

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

[Android.Runtime.Register("android/app/AppOpsManager", DoNotGenerateAcw=true)]
public class AppOpsManager : Java.Lang.Object
[<Android.Runtime.Register("android/app/AppOpsManager", DoNotGenerateAcw=true)>]
type AppOpsManager = class
    inherit Object
Herencia
AppOpsManager
Atributos

Comentarios

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento. Las operaciones de la aplicación abarcan una amplia variedad de funcionalidades que ayudan con el control de acceso de permisos en tiempo de ejecución y el seguimiento del seguimiento del consumo de batería. Las operaciones de app-ops de control de acceso se pueden controlar para cada uid o para cada paquete. El que se usa depende del proveedor de API que mantiene esta operación de la aplicación. Para cualquier operación de aplicación relacionada con la seguridad o privacidad, el proveedor debe controlar la operación de la aplicación para por uid, ya que toda la seguridad y la privacidad se basan en uid en Android. Para controlar el acceso a la operación de la aplicación se puede establecer en un modo en: MODE_DEFAULT comportamiento predeterminado, puede diferir de app-op o app-op MODE_ALLOWED Permitir el acceso MODE_IGNORED No permitir el acceso, es decir, no realizar la acción solicitada o devolver ningún dato de marcador de posición o no MODE_ERRORED Iniciar una excepción SecurityException en el acceso. Esto se puede suprimir mediante un ... El método noThrow para comprobar los proveedores de API de modo debe comprobar el modo devuelto por noteOp(String, int, String) si están permitiendo el acceso a las operaciones controladas por la app-op. unsafeCheckOp(String, int, String) debe usarse para comprobar el modo si no se concede acceso. Por ejemplo, esto se puede usar para mostrar el estado de la operación de la aplicación en la interfaz de usuario o al comprobar el estado antes de llamar a noteOp(String, int, String) de todos modos. Si una operación hace referencia a un intervalo de tiempo (por ejemplo, una sesión de grabación de audio), el proveedor de API debe usar startOp(String, int, String) y finishOp(String, int, String) en lugar de noteOp(String, int, String). Permisos de tiempo de ejecución y operaciones de aplicación Cada permiso en tiempo de ejecución definido por la plataforma (junto a los modificadores en segundo plano) tiene una operación de aplicación asociada que se usa para el seguimiento, pero también para permitir errores silenciosos. Por ejemplo, si se deniega el permiso en tiempo de ejecución, el autor de la llamada obtiene una excepción SecurityException, pero si se concede el permiso y la operación de la aplicación es MODE_IGNORED, los autores de llamada obtienen el comportamiento del marcador de posición, por ejemplo, las devoluciones de llamada de ubicación no se producirían. Los permisos de operaciones de la aplicación son permisos definidos por la plataforma que se pueden invalidar. La comprobación de seguridad de los permisos de app-op debe comprobar de forma predeterminada el estado de concesión de permisos. Si el estado de la operación de la aplicación está establecido en MODE_ALLOWED o MODE_IGNORED se debe comprobar el estado de la operación de la aplicación en lugar del estado de concesión de permisos. Esta funcionalidad permite conceder acceso de forma predeterminada a las aplicaciones que cumplen los requisitos de un determinado nivel de permisos. Aun así, el comportamiento se puede invalidar cuando sea necesario. El seguimiento de operaciones de aplicaciones realiza un seguimiento de muchos eventos importantes, incluidos todos los accesos a las API protegidas por permisos en tiempo de ejecución. Esto se realiza mediante el seguimiento cuando se anotó o se inició una operación de la aplicación. Los componentes del sistema solo pueden leer los datos con seguimiento. Solo se realiza un seguimiento de noteOp(String, int, String)/startOp(String, int, String); unsafeCheckOp(String, int, String) no se realiza el seguimiento. Por lo tanto, es importante llamar finalmente a noteOp(String, int, String) o startOp(String, int, String) al proporcionar acceso a operaciones o datos protegidos. Algunas aplicaciones reenvía el acceso a otras aplicaciones. Por ejemplo, una aplicación podría obtener la ubicación del proveedor de ubicación del sistema y, a continuación, enviar la ubicación más a una aplicación 3. En este caso, la aplicación que pasa los datos debe llamar a noteProxyOp(String, String) para indicar el proxy de acceso. Esto también puede tener sentido dentro de una sola aplicación si el acceso se reenvía entre dos partes de la etiquetada con etiquetas de atribución diferentes. Una aplicación puede registrar un OnOpNotedCallback para obtener información sobre el acceso al sistema que realiza el seguimiento. Dado que cada permiso en tiempo de ejecución tiene asociada una operación de aplicación, esta API es especialmente útil para una aplicación que quiere encontrar accesos inesperados a datos privados.

Referencia de Android para android.app.AppOpsManager.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
AppOpsManager(IntPtr, JniHandleOwnership)

Inicializa una representación administrada de un objeto Java Native Interface existente.

Campos

Nombre Description
ModeAllowed
Obsoletos.

Resultado de #checkOp, #noteOp, #startOp: el llamador dado puede realizar la operación especificada.

ModeDefault
Obsoletos.

Resultado de #checkOp, #noteOp, #startOp: el llamador dado debe usar su comprobación de seguridad predeterminada.

ModeErrored
Obsoletos.

Resultado de #checkOpNoThrow, #noteOpNoThrow, #startOpNoThrow: el llamador dado no puede realizar la operación dada y este intento debe provocar un error irrecuperable, normalmente un SecurityException.

ModeForeground
Obsoletos.

Modo especial que significa "permitir solo cuando la aplicación está en primer plano.

ModeIgnored
Obsoletos.

Resultado de #checkOp, #noteOp, #startOp: el autor de la llamada dado no puede realizar la operación dada y este intento debe <producir un>error< en modo silencioso/em> (no debe provocar que la aplicación se bloquee).

OpNotedCallbackFlagIgnoreAsync
Obsoletos.

Omite los eventos anotados de la operación asincrónica.

OpstrAddVoicemail

Necesario para acceder a la información relacionada con el estado del teléfono.

OpstrAnswerPhoneCalls

Responder a las llamadas telefónicas entrantes

OpstrBodySensors

Acceso a sensores corporales como la frecuencia cardíaca, etc.

OpstrCallPhone

Permite que una aplicación inicie una llamada telefónica.

OpstrCamera

Necesario para poder acceder al dispositivo de cámara.

OpstrCoarseLocation

Acceso a la información de ubicación general.

OpstrFineLocation

Acceso a información de ubicación adecuada.

OpstrGetUsageStats

Acceso a UsageStatsManager.

OpstrManageContacts

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

OpstrMockLocation

Inserte la ubicación ficticia en el sistema.

OpstrMonitorHighPowerLocation

Supervisar continuamente los datos de ubicación con una solicitud de energía relativamente alta.

OpstrMonitorLocation

Supervisar continuamente los datos de ubicación.

OpstrPictureInPicture

Acceso a la imagen en imagen.

OpstrProcessOutgoingCalls

Api de acceso para desviar llamadas salientes

OpstrReadCalendar

Permite a una aplicación leer los datos del calendario del usuario.

OpstrReadCallLog

Permite que una aplicación lea el registro de llamadas del usuario.

OpstrReadCellBroadcasts

Lee los mensajes de difusión de celda recibidos anteriormente.

OpstrReadContacts

Permite que una aplicación lea los datos de contactos del usuario.

OpstrReadExternalStorage

Leer almacenamiento externo.

OpstrReadPhoneNumbers

Valor constante: "android:read_phone_numbers"

OpstrReadPhoneState

Necesario para acceder a la información relacionada con el estado del teléfono.

OpstrReadSms

Permite a una aplicación leer mensajes SMS.

OpstrReceiveMms

Permite que una aplicación reciba mensajes MMS.

OpstrReceiveSms

Permite que una aplicación reciba mensajes SMS.

OpstrReceiveWapPush

Permite que una aplicación reciba mensajes de inserción WAP.

OpstrRecordAudio

Necesario para poder acceder al dispositivo de micrófono.

OpstrSendSms

Permite que una aplicación envíe mensajes SMS.

OpstrSystemAlertWindow

Necesario para dibujar sobre otras aplicaciones.

OpstrUseFingerprint

Use la API de huellas digitales.

OpstrUseSip

Acceso a las API para llamadas SIP a través de VOIP o WiFi

OpstrWriteCalendar

Permite que una aplicación escriba en los datos del calendario del usuario.

OpstrWriteCallLog

Permite que una aplicación escriba en el registro de llamadas del usuario.

OpstrWriteContacts

Permite que una aplicación escriba en los datos de contactos del usuario.

OpstrWriteExternalStorage

Escribir almacenamiento externo.

OpstrWriteSettings

Necesario para escribir, modificar o actualizar la configuración del sistema.

WatchForegroundChanges
Obsoletos.

Marca para #startWatchingMode(String, String, int, OnOpChangedListener): obtenga también informes si cambia el estado en primer plano de la interfaz de usuario de una operación.

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

(Heredado de JavaObject)
JniPeerMembers

Proporciona la infraestructura de enlace JNI para Android.App.AppOpsManager.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
ThresholdClass

Proporciona la infraestructura de enlace JNI para Android.App.AppOpsManager.

ThresholdType

Proporciona la infraestructura de enlace JNI para Android.App.AppOpsManager.

Métodos

Nombre Description
CheckOp(String, Int32, String, String)

Compruebe si una aplicación puede realizar una operación.

CheckOp(String, Int32, String)

Compruebe si una aplicación puede realizar una operación.

CheckOpNoThrow(String, Int32, String, String)

Al igual que checkOp(String,int,String,String), pero en lugar de iniciar securityException, devuelve MODE_ERRORED.

CheckOpNoThrow(String, Int32, String)

Al igual que checkOp(String,int,String), pero en lugar de iniciar una securityException, devuelve MODE_ERRORED.

CheckOpRawNoThrow(String, Int32, String, String)

Al igual que checkOp(String,int,String,String), pero devuelve el modo sin procesar asociado a la operación.

CheckPackage(Int32, String)

Este método está en desuso en el nivel de API 30.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

(Heredado de JavaObject)
Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

(Heredado de JavaObject)
Equals(Object)

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
FinishOp(String, Int32, String, String)

Informe de que una aplicación ya no está realizando una operación que se había iniciado anteriormente con startOp(String,int,String,String,String,String).

FinishOp(String, Int32, String)

Este método está en desuso en el nivel de API 30.

FinishProxyOp(String, Int32, String, String)

Informe de que una aplicación ya no está realizando una operación que se había iniciado anteriormente con startProxyOp(String,int,String,String,String,String).

GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
IsOpActive(String, Int32, String)

Comprueba si la operación especificada para un paquete está activa, es decir,

JavaFinalize()
Obsoletos.

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
NoteOp(String, Int32, String, String, String)

Tome nota de que una aplicación realiza una operación y compruebe si la aplicación puede realizarla.

NoteOp(String, Int32, String)

Este método está en desuso en el nivel de API 30.

NoteOpNoThrow(String, Int32, String, String, String)

Al igual que noteOp(String,int,String,String,String), pero en lugar de iniciar una securityException, devuelve MODE_ERRORED.

NoteOpNoThrow(String, Int32, String)

Este método está en desuso en el nivel de API 30.

NoteProxyOp(String, String, Int32, String, String)

Tome nota de que una aplicación realiza una operación en nombre de otra aplicación al controlar un IPC.

NoteProxyOp(String, String)

Este método está en desuso en el nivel de API 30.

NoteProxyOpNoThrow(String, String, Int32, String, String)

Al igual que noteProxyOp(String,String,int,String,String), pero en lugar de iniciar una securityException, devuelve MODE_ERRORED.

NoteProxyOpNoThrow(String, String, Int32)

Este método está en desuso en el nivel de API 30.

NoteProxyOpNoThrow(String, String)

Este método está en desuso en el nivel de API 30.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
PermissionToOp(String)

Obtiene el nombre de app-op asociado a un permiso determinado.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetOnOpNotedCallback(IExecutor, AppOpsManager+OnOpNotedCallback, AppOpsManagerCallbackFlag)

Establezca un nuevo OnOpNotedCallback.

SetOnOpNotedCallback(IExecutor, AppOpsManager+OnOpNotedCallback)

Establezca un nuevo OnOpNotedCallback.

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

(Heredado de JavaObject)
StartOp(String, Int32, String, String, String)

Informe de que una aplicación ha empezado a ejecutar una operación de ejecución prolongada.

StartOp(String, Int32, String)

Este método está en desuso en el nivel de API 30.

StartOpNoThrow(String, Int32, String, String, String)

Al igual que startOp(String,int,String,String,String), pero en lugar de iniciar una securityException, devuelve MODE_ERRORED.

StartOpNoThrow(String, Int32, String)

Este método está en desuso en el nivel de API 30.

StartProxyOp(String, Int32, String, String, String)

Informe de que una aplicación ha empezado a ejecutar una operación de larga duración en nombre de otra aplicación al controlar un IPC.

StartProxyOpNoThrow(String, Int32, String, String, String)

Al igual que startProxyOp(String,int,String,String,String), pero en lugar de iniciar una securityException, devuelve MODE_ERRORED.

StartWatchingActive(String[], IExecutor, AppOpsManager+IOnOpActiveChangedListener)

Empiece a observar los cambios en el estado activo de las operaciones de la aplicación.

StartWatchingMode(String, String, AppOpsManager+IOnOpChangedListener)

Supervise los cambios en el modo de funcionamiento de la operación especificada en el paquete de aplicación determinado.

StartWatchingMode(String, String, WatchForeground, AppOpsManager+IOnOpChangedListener)

Supervise los cambios en el modo de funcionamiento de la operación especificada en el paquete de aplicación determinado.

StopWatchingActive(AppOpsManager+IOnOpActiveChangedListener)

Deje de observar los cambios en el estado activo de una operación de la aplicación.

StopWatchingMode(AppOpsManager+IOnOpChangedListener)

Detenga la supervisión que se inició anteriormente con startWatchingMode(String, String, OnOpChangedListener).

ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
UnsafeCheckOp(String, Int32, String)

Este método estaba en desuso en el nivel de API 36.

UnsafeCheckOpNoThrow(String, Int32, String)

Este método estaba en desuso en el nivel de API 36.

UnsafeCheckOpRaw(String, Int32, String)

Este método estaba en desuso en el nivel de API 36.

UnsafeCheckOpRawNoThrow(String, Int32, String)

Este método estaba en desuso en el nivel de API 36.

Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

(Heredado de JavaObject)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Las operaciones de la aplicación se usan con dos propósitos: control de acceso y seguimiento.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a