AppOpsManager Classe
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.
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à
- 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_ALLOWED
Consenti 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 SecurityException
oggetto , 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 |
ModeDefault |
Obsoleti.
Risultato di |
ModeErrored |
Obsoleti.
Risultato di |
ModeForeground |
Obsoleti.
Modalità speciale che significa "consenti solo quando l'app è in primo piano. |
ModeIgnored |
Obsoleti.
Risultato di |
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 |
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 |
Proprietà
Class |
Restituisce la classe di runtime di questo |
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 |
FinishProxyOp(String, Int32, String, String) |
Segnalare che un'applicazione non esegue più un'operazione avviata in precedenza con |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
UnsafeCheckOpRaw(String, Int32, String) |
Come |
UnsafeCheckOpRawNoThrow(String, Int32, String) |
Come |
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. |