AppOpsManager Classe

Definizione

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

[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
Ereditarietà
AppOpsManager
Attributi

Commenti

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento. Le operazioni di app coprono un'ampia gamma di funzionalità che consentono di gestire il controllo di accesso e il monitoraggio delle autorizzazioni di runtime al rilevamento del consumo di batteria. Il controllo di accesso Delle operazioni di app può essere controllato per ogni uid o per ogni pacchetto. Quello usato dipende dal provider di API che gestisce questa app-op. Per qualsiasi app-op correlata alla sicurezza o alla privacy, il provider deve controllare l'app-op per ogni uid perché tutta la sicurezza e la privacy si basa sull'interfaccia utente in Android. Per controllare l'accesso all'app-op può essere impostato su una modalità su: MODE_DEFAULT Comportamento predefinito, può essere diverso da app-op o app-op MODE_ALLOWED Consenti l'accesso MODE_IGNORED Non consentire l'accesso, ad esempio non eseguire l'azione richiesta o restituire dati senza segnaposto o MODE_ERRORED Generare un'eccezione SecurityException all'accesso. Questa operazione può essere eliminata utilizzando un ... Il metodo noThrow per controllare i provider di API in modalità deve controllare la modalità restituita da noteOp(String, int, String) se consentono l'accesso alle operazioni controllate dall'app-op. è consigliabile usare unsafeCheckOp(String, int, String) per controllare la modalità se non viene concesso alcun accesso. Ad esempio, questo può essere usato per visualizzare lo stato dell'app-op nell'interfaccia utente o quando si controlla lo stato prima di chiamare noteOp(String, int, String) comunque. Se un'operazione fa riferimento a un intervallo di tempo ,ad esempio una sessione di registrazione audio, il provider api deve usare startOp(String, int, String) e finishOp(String, int, String) anziché noteOp(String, int, String). Autorizzazioni di runtime e operazioni di app Ogni autorizzazione di runtime definita dalla piattaforma (accanto ai modificatori in background) ha un'app op associata usata per il rilevamento, ma anche per consentire errori invisibile all'utente. Ad esempio, se l'autorizzazione di runtime viene negata al chiamante ottiene un'eccezione SecurityException, ma se l'autorizzazione viene concessa e l'app-op è MODE_IGNORED, i chiamanti ottengono il comportamento del segnaposto, ad esempio i callback della posizione non si verificherebbero. Le autorizzazioni app-op autorizzazioni app-ops sono autorizzazioni definite dalla piattaforma che possono essere sottoposte a override. Il controllo di sicurezza per le autorizzazioni app-op deve controllare per impostazione predefinita lo stato di concessione delle autorizzazioni. Se lo stato app-op è impostato su MODE_ALLOWED o MODE_IGNORED lo stato dell'app-op deve essere controllato invece dello stato di concessione dell'autorizzazione. Questa funzionalità consente di concedere l'accesso per impostazione predefinita alle app che soddisfano i requisiti per un determinato livello di autorizzazione. È comunque possibile eseguire l'override del comportamento quando necessario. Il rilevamento di App-ops tiene traccia di molti eventi importanti, inclusi tutti gli accessi alle API protette con autorizzazioni di runtime. Questa operazione viene eseguita monitorando quando è stato annotato o avviato un'app-op. I dati rilevati possono essere letti solo dai componenti di sistema. Vengono rilevate solo noteOp(String, int, String)/startOp(String, int, String). unsafeCheckOp(String, int, String) non viene rilevato. È quindi importante chiamare noteOp(String, int, String) o startOp(String, int, String) quando si fornisce l'accesso a operazioni o dati protetti. Alcune app inoltrano l'accesso ad altre app. Ad esempio, un'app potrebbe ottenere la posizione dal provider di posizione del sistema e quindi inviare la posizione a un'app di terze parti. In questo caso l'app che passa i dati deve chiamare noteProxyOp(String, String) per segnalare il proxy di accesso. Questo può anche avere senso all'interno di una singola app se l'accesso viene inoltrato tra due parti del tag con tag di attribuzione diversi. Un'app può registrare un OnOpNotedCallback per ottenere informazioni sugli accessi che il sistema sta monitorando. Poiché ogni autorizzazione di runtime ha un'app-op associata, questa API è particolarmente utile per un'app che vuole trovare accessi imprevisti ai dati privati.

Informazioni di riferimento su Android per android.app.AppOpsManager.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Costruttori

Nome Descrizione
AppOpsManager(IntPtr, JniHandleOwnership)

Inizializza una rappresentazione gestita di un oggetto native interface Java esistente.

Campi

Nome Descrizione
ModeAllowed
Obsoleti.

Risultato da checkOp(String, int, String), noteOp(String, int, String), startOp(String, int, String): il chiamante specificato può eseguire l'operazione specificata.

ModeDefault
Obsoleti.

Risultato di checkOp(String, int, String), noteOp(String, int, String), startOp(String, int, String): il chiamante specificato deve usare il controllo di sicurezza predefinito.

ModeErrored
Obsoleti.

Risultato di checkOpNoThrow(String, int, String), noteOpNoThrow(String, int, String), startOpNoThrow(String, int, String): il chiamante specificato non è autorizzato a eseguire l'operazione specificata e questo tentativo dovrebbe causare un errore irreversibile, in genere un'eccezione SecurityException.

ModeForeground
Obsoleti.

Modalità speciale che significa "consenti solo quando l'app è in primo piano". Non viene restituito da unsafeCheckOp(String, int, String), noteOp(String, int, String), startOp(String, int, String).

ModeIgnored
Obsoleti.

Risultato di checkOp(String, int, String), noteOp(String, int, String), startOp(String, int, String): il chiamante specificato non è autorizzato a eseguire l'operazione specificata e questo tentativo dovrebbe non riuscire in modo invisibile all'utente (non dovrebbe causare l'arresto anomalo dell'app).

OpNotedCallbackFlagIgnoreAsync
Obsoleti.

Ignora gli eventi annotati dell'op asincrona.

OpstrAddVoicemail

Obbligatorio per accedere alle informazioni correlate allo stato del telefono.

OpstrAnswerPhoneCalls

Rispondere alle chiamate telefoniche in arrivo

OpstrBodySensors

Accesso ai sensori del corpo, ad esempio frequenza cardiaca, ecc.

OpstrCallPhone

Consente a un'applicazione di avviare una telefonata.

OpstrCamera

Necessario per poter accedere al dispositivo fotocamera.

OpstrCoarseLocation

Accesso alle informazioni sulla posizione grossolana.

OpstrFineLocation

Accesso alle informazioni sulla posizione.

OpstrGetUsageStats

Accesso a UsageStatsManager.

OpstrMockLocation

Inserire posizione fittizia nel sistema.

OpstrMonitorHighPowerLocation

Monitoraggio continuo dei dati sulla posizione con una richiesta di alimentazione relativamente elevata.

OpstrMonitorLocation

Monitoraggio continuo dei dati sulla posizione.

OpstrPictureInPicture

Accesso all'immagine in immagine.

OpstrProcessOutgoingCalls

Accedere alle API per la deviazione delle chiamate in uscita

OpstrReadCalendar

Consente a un'applicazione di leggere i dati del calendario dell'utente.

OpstrReadCallLog

Consente a un'applicazione di leggere il log delle chiamate dell'utente.

OpstrReadCellBroadcasts

Legge i messaggi di trasmissione delle celle ricevuti in precedenza.

OpstrReadContacts

Consente a un'applicazione di leggere i dati dei contatti dell'utente.

OpstrReadExternalStorage

Leggere l'archiviazione esterna.

OpstrReadPhoneNumbers

Valore costante: "android:read_phone_numbers"

OpstrReadPhoneState

Obbligatorio per accedere alle informazioni correlate allo stato del telefono.

OpstrReadSms

Consente a un'applicazione di leggere messaggi SMS.

OpstrReceiveMms

Consente a un'applicazione di ricevere messaggi MMS.

OpstrReceiveSms

Consente a un'applicazione di ricevere messaggi SMS.

OpstrReceiveWapPush

Consente a un'applicazione di ricevere messaggi push WAP.

OpstrRecordAudio

Necessario per poter accedere al dispositivo microfono.

OpstrSendSms

Consente a un'applicazione di inviare messaggi SMS.

OpstrSystemAlertWindow

Necessario per disegnare sopra altre app.

OpstrUseFingerprint

Usare l'API di impronta digitale.

OpstrUseSip

Accedere alle API per le chiamate SIP tramite VOIP o Wi-Fi

OpstrWriteCalendar

Consente a un'applicazione di scrivere nei dati del calendario dell'utente.

OpstrWriteCallLog

Consente a un'applicazione di scrivere nel registro chiamate dell'utente.

OpstrWriteContacts

Consente a un'applicazione di scrivere nei dati dei contatti dell'utente.

OpstrWriteExternalStorage

Scrivere l'archiviazione esterna.

OpstrWriteSettings

Obbligatorio per scrivere/modificare/aggiornare le impostazioni di sistema.

WatchForegroundChanges
Obsoleti.

Flag per startWatchingMode(String,String,int,OnOpChangedListener): ottiene anche report se lo stato in primo piano di un oggetto uid cambia.

Proprietà

Nome Descrizione
Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
JniManagedPeerState

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

(Ereditato da JavaObject)
JniPeerMembers

Fornisce l'infrastruttura di associazione JNI per Android.App.AppOpsManager.

PeerReference

Ottiene il riferimento all'oggetto JNI per questo peer Java.

(Ereditato da Object)
ThresholdClass

Fornisce l'infrastruttura di associazione JNI per Android.App.AppOpsManager.

ThresholdType

Fornisce l'infrastruttura di associazione JNI per Android.App.AppOpsManager.

Metodi

Nome Descrizione
CheckOp(String, Int32, String, String)

Controllare se un'applicazione può eseguire un'operazione.

CheckOp(String, Int32, String)

Controllare se un'applicazione può eseguire un'operazione.

CheckOpNoThrow(String, Int32, String, String)

Come checkOp(String,int,String,String) ma invece di generare un'eccezione SecurityException, restituisce MODE_ERRORED.

CheckOpNoThrow(String, Int32, String)

Come checkOp(String,int,String) ma invece di generare un'eccezione SecurityException restituisce MODE_ERRORED.

CheckOpRawNoThrow(String, Int32, String, String)

Come checkOp(String,int,String,String) ma restituisce la modalità non elaborata associata all'op.

CheckPackage(Int32, String)

Questo metodo è stato deprecato nel livello API 30.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

(Ereditato da JavaObject)
Dispose()

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
Dispose(Boolean)

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
DisposeUnlessReferenced()

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

(Ereditato da JavaObject)
Equals(Object)

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

(Ereditato da JavaObject)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
FinishOp(String, Int32, String, String)

Segnalare che un'applicazione non esegue più un'operazione avviata in precedenza con startOp(String,int,String,String,String,String).

FinishOp(String, Int32, String)

Questo metodo è stato deprecato nel livello API 30.

FinishProxyOp(String, Int32, String, String)

Segnalare che un'applicazione non esegue più un'operazione che in precedenza era stata avviata con startProxyOp(String,int,String,String,String).

GetHashCode()

Restituisce un valore di codice hash per l'oggetto .

(Ereditato da Object)
IsOpActive(String, Int32, String)

Controlla se l'op specificato per un pacchetto è attivo, ad esempio

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
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.

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

Analogamente a noteOp(String,int,String,String,String) ma invece di generare un'eccezione SecurityException, restituisce MODE_ERRORED.

NoteOpNoThrow(String, Int32, String)

Questo metodo è stato deprecato nel livello API 30.

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

Prendere nota di un'applicazione che esegue un'operazione per conto di un'altra applicazione durante la gestione di un IPC.

NoteProxyOp(String, String)

Questo metodo è stato deprecato nel livello API 30.

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

Come notaProxyOp(String,String,int,String,String) ma invece di generare un'eccezione SecurityException, restituisce MODE_ERRORED.

NoteProxyOpNoThrow(String, String, Int32)

Questo metodo è stato deprecato nel livello API 30.

NoteProxyOpNoThrow(String, String)

Questo metodo è stato deprecato nel livello API 30.

Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
PermissionToOp(String)

Ottiene il nome app-op associato a una determinata autorizzazione.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetOnOpNotedCallback(IExecutor, AppOpsManager+OnOpNotedCallback, AppOpsManagerCallbackFlag)

Impostare un nuovo OnOpNotedCallback.

SetOnOpNotedCallback(IExecutor, AppOpsManager+OnOpNotedCallback)

Impostare un nuovo OnOpNotedCallback.

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

(Ereditato da JavaObject)
StartOp(String, Int32, String, String, String)

Segnalare che un'applicazione ha avviato l'esecuzione di un'operazione a esecuzione prolungata.

StartOp(String, Int32, String)

Questo metodo è stato deprecato nel livello API 30.

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

Come startOp(String,int,String,String,String) ma invece di generare un'eccezione SecurityException, restituisce MODE_ERRORED.

StartOpNoThrow(String, Int32, String)

Questo metodo è stato deprecato nel livello API 30.

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

Segnalare che un'applicazione ha avviato l'esecuzione di un'operazione a esecuzione prolungata per conto di un'altra applicazione durante la gestione di un IPC.

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

Come startProxyOp(String,int,String,String,String) ma invece di generare un'eccezione SecurityException restituisce MODE_ERRORED.

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

Iniziare a esaminare le modifiche apportate allo stato attivo delle operazioni di app.

StartWatchingMode(String, String, AppOpsManager+IOnOpChangedListener)

Monitorare le modifiche apportate alla modalità operativa per l'op specificato nel pacchetto dell'app specificato.

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

Monitorare le modifiche apportate alla modalità operativa per l'op specificato nel pacchetto dell'app specificato.

StopWatchingActive(AppOpsManager+IOnOpActiveChangedListener)

Interrompere la ricerca delle modifiche apportate allo stato attivo di un'app-op.

StopWatchingMode(AppOpsManager+IOnOpChangedListener)

Arrestare il monitoraggio avviato in precedenza con startWatchingMode(String, String, OnOpChangedListener).

ToArray<T>()

Crea una matrice gestita da questo wrapper di matrice Java.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto .

(Ereditato da Object)
UnregisterFromRuntime()

Annulla la registrazione di questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
UnsafeCheckOp(String, Int32, String)

Questo metodo è stato deprecato nel livello API 36.

UnsafeCheckOpNoThrow(String, Int32, String)

Questo metodo è stato deprecato nel livello API 36.

UnsafeCheckOpRaw(String, Int32, String)

Questo metodo è stato deprecato nel livello API 36.

UnsafeCheckOpRawNoThrow(String, Int32, String)

Questo metodo è stato deprecato nel livello API 36.

Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IJavaPeerable.Disposed()

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

(Ereditato da JavaObject)
IJavaPeerable.Finalized()

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

(Ereditato da JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

(Ereditato da JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

(Ereditato da JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

(Ereditato da JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

(Ereditato da JavaObject)

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Le operazioni di app vengono usate per due scopi: Controllo di accesso e rilevamento.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a