Condividi tramite


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à da aiutare con il controllo di accesso alle autorizzazioni di runtime e il rilevamento dei consumi della batteria.

<controllo di accesso< h2/h2>>

Le operazioni di app possono essere controllate per ogni interfaccia utente o per ogni pacchetto. Ciò che viene usato dipende dal provider di API che gestisce questa app-op. Per qualsiasi sicurezza o privacy correlata all'app-op, il provider deve controllare l'app-op per ogni interfaccia utente come 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: <il comportamento predefinito dl><dt#MODE_DEFAULT<>dd>può essere diverso da app-op o app-op <dd><>#MODE_ALLOWEDConsenti l'accesso dt#MODE_IGNORED<>dd Non consentire l'accesso<, ad esempio non eseguire l'azione richiesta o restituire dati non segnaposto o no o segnaposto><#MODE_ERRORED<> dt dd>Genera un SecurityException accesso. Questa operazione può essere eliminata usando un ...noThrow metodo per controllare la modalità </dl>

I provider di API devono controllare la modalità restituita da #noteOp se consentono l'accesso alle operazioni gated by the app-op. #unsafeCheckOp deve essere usato 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 in seguito comunque.

Se un'operazione fa riferimento a un intervallo di tempo (ad esempio una sessione di registrazione audio) il provider api deve usare #startOp e #finishOp anziché #noteOp.

<autorizzazioni di runtime h3 e operazioni< di app/h3>>

Ogni autorizzazione di runtime definita dalla piattaforma (accanto ai modificatori in background) ha un'opzione app 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 SecurityExceptionoggetto , ma se l'autorizzazione viene concessa e l'opzione app è #MODE_IGNORED il comportamento dei chiamanti ottiene il comportamento segnaposto, ad esempio i callback di posizione non si verificherebbero.

<h3 Autorizzazioni< app-op/h3>>

Le autorizzazioni per le operazioni di app sono autorizzazioni definite dalla piattaforma che possono essere sottoposte a override. Il controllo di sicurezza per le autorizzazioni dell'app-op deve #MODE_DEFAULT default controllare lo stato di concessione dell'autorizzazione. Se lo stato dell'app-op è impostato su #MODE_ALLOWED o #MODE_IGNORED lo stato dell'app-op deve essere controllato anziché lo 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.

<h2 Tracking</h2>>

App-ops tiene traccia di molti eventi importanti, inclusi tutti gli accessi alle API protette per l'autorizzazione di runtime. Questa operazione viene eseguita verificando quando un'app-op era #noteOp noted o #startOp started. I dati rilevati possono essere letti solo dai componenti di sistema.

<b>Vengono rilevati solo#startOp#noteOp/; #unsafeCheckOp non viene rilevata. È quindi importante chiamare #noteOp o #startOp quando si fornisce l'accesso alle operazioni o ai dati protetti.</B>

Alcune app inoltrano l'accesso ad altre app. Ad esempio, un'app potrebbe ottenere la posizione dal provider di località del sistema e quindi inviare la posizione a un'app 3rd. In questo caso, l'app che passa i dati deve chiamare #noteProxyOp per segnalare il proxy di accesso. Ciò può anche essere utile 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 oggetto OnOpNotedCallback per ottenere informazioni sugli accessi al sistema. Poiché ogni autorizzazione di runtime ha un'API app-op associata è particolarmente utile per un'app che vuole trovare accessi ai dati privati imprevisti.

Documentazione Java per android.app.AppOpsManager.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Costruttori

AppOpsManager(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Campi

ModeAllowed
Obsoleti.

Risultato di #checkOp, , #startOp#noteOp: il chiamante specificato è autorizzato a eseguire l'operazione specificata.

ModeDefault
Obsoleti.

Risultato di #checkOp, , #startOp#noteOp: il chiamante specificato deve usare il controllo di sicurezza predefinito.

ModeErrored
Obsoleti.

Risultato di #checkOpNoThrow, , #startOpNoThrow#noteOpNoThrow: il chiamante specificato non è autorizzato a eseguire l'operazione specificata e questo tentativo deve causare un errore irreversibile, in genere un SecurityException.

ModeForeground
Obsoleti.

Modalità speciale che significa "consenti solo quando l'app è in primo piano.

ModeIgnored
Obsoleti.

Risultato di #checkOp, #noteOp, #startOp: il chiamante specificato non è autorizzato a eseguire l'operazione specificata e questo tentativo dovrebbe <non riuscire</em>> in modo silenzioso (non dovrebbe causare l'arresto anomalo dell'app).

OpstrAddVoicemail

Obbligatorio per accedere alle informazioni correlate allo stato del telefono.

OpstrAnswerPhoneCalls

Rispondere alle chiamate telefoniche in ingresso

OpstrBodySensors

Accesso ai sensori del corpo, ad esempio frequenza cardiaca e così via.

OpstrCallPhone

Consente a un'applicazione di avviare una chiamata telefonica.

OpstrCamera

Necessario per poter accedere al dispositivo fotocamera.

OpstrCoarseLocation

Accesso alle informazioni sulla posizione grossolane.

OpstrFineLocation

Accesso alle informazioni sulla posizione fine.

OpstrGetUsageStats

Accesso a android.app.usage.UsageStatsManager.

OpstrMockLocation

Inserire posizione fittizia nel sistema.

OpstrMonitorHighPowerLocation

Monitorare continuamente i dati di posizione con una richiesta di potenza relativamente elevata.

OpstrMonitorLocation

Monitorare continuamente i dati relativi alla posizione.

OpstrPictureInPicture

Accesso all'immagine in immagine.

OpstrProcessOutgoingCalls

API di accesso 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

Leggere 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

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

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

Obbligatorio per disegnare in cima ad altre app.

OpstrUseFingerprint

Usare l'API impronta digitale.

OpstrUseSip

Api di accesso per le chiamate SIP tramite VOIP o WiFi

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 archiviazione esterna.

OpstrWriteSettings

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

WatchForegroundChanges
Obsoleti.

Flag per #startWatchingMode(String, String, int, OnOpChangedListener): ottenere report anche se lo stato in primo piano di un'interfaccia utente di un'operazione viene modificato.

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle all'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

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

(Ereditato da Object)
JniPeerMembers

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

PeerReference

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

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

CheckOp(String, Int32, String)

Metodo deprecato.

CheckOpNoThrow(String, Int32, String)

Metodo deprecato.

CheckPackage(Int32, String)

Metodo deprecato.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Dispose()

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

(Ereditato da Object)
Dispose(Boolean)

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

(Ereditato da Object)
Equals(Object)

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

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

Metodo deprecato.

FinishOp(String, Int32, String, String)

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

FinishProxyOp(String, Int32, String, String)

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

GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

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

Verifica se l'opzione specificata per un pacchetto è attiva, i.

JavaFinalize()

Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto.

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

Metodo deprecato.

NoteOp(String, Int32, String, String, String)

Prendere nota di un'applicazione che esegue un'operazione e verificare se l'applicazione può eseguirla.

NoteOpNoThrow(String, Int32, String)

Metodo deprecato.

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

Come #noteOp(String, int, String, String, String) ma invece di generare un SecurityException oggetto restituisce #MODE_ERRORED.

NoteProxyOp(String, String)

Metodo deprecato.

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.

NoteProxyOpNoThrow(String, String)

Metodo deprecato.

NoteProxyOpNoThrow(String, String, Int32)

Metodo deprecato.

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

Come #noteProxyOp(String, String, int, String, String) ma invece di generare un SecurityException oggetto restituisce #MODE_ERRORED.

Notify()

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

(Ereditato da Object)
NotifyAll()

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

(Ereditato da Object)
PermissionToOp(String)

Ottiene il nome dell'app-op associato a un'autorizzazione specificata.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

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

Impostare un nuovo OnOpNotedCallbackoggetto .

StartOp(String, Int32, String)

Metodo deprecato.

StartOp(String, Int32, String, String, String)

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

StartOpNoThrow(String, Int32, String)

Metodo deprecato.

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

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

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 SecurityException oggetto restituisce #MODE_ERRORED.

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

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

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)

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

StopWatchingActive(AppOpsManager+IOnOpActiveChangedListener)

Arrestare la verifica delle modifiche allo stato attivo di un'app.Stop watching for changes to the active state of an app-op.

StopWatchingMode(AppOpsManager+IOnOpChangedListener)

Arrestare il monitoraggio avviato in precedenza con #startWatchingMode.

ToArray<T>()

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

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

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

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

Eseguire una rapida verifica se un'applicazione potrebbe essere in grado di eseguire un'operazione.

UnsafeCheckOpNoThrow(String, Int32, String)

Come #checkOp ma invece di generare un SecurityException oggetto restituisce #MODE_ERRORED.

UnsafeCheckOpRaw(String, Int32, String)

Come #checkOp ma restituisce la <modalità em>raw</em> associata all'op.

UnsafeCheckOpRawNoThrow(String, Int32, String)

Come #unsafeCheckOpNoThrow(String, int, String) ma restituisce la <modalità em>raw</em> associata all'op.

Wait()

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.<

(Ereditato da Object)
Wait(Int64)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo 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

IJavaPeerable.Disposed()

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

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(Ereditato da Object)
IJavaPeerable.Finalized()

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

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

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

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

Si applica a