Partager via


AppOpsManager Classe

Définition

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

[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
Héritage
AppOpsManager
Attributs

Remarques

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

Les opérations d’application couvrent une grande variété de fonctionnalités, de l’aide au contrôle d’accès des autorisations d’exécution et au suivi de la consommation de batterie.

<Contrôle< d’accès h2>/h2>

Les opérations d’application peuvent être contrôlées pour chaque uid ou pour chaque package. Celui qui est utilisé dépend du fournisseur d’API qui conserve cette application-op. Pour toute application liée à la sécurité ou à la confidentialité, le fournisseur doit contrôler l’application pour chaque interface utilisateur, car toute sécurité et confidentialité est basée sur l’interface utilisateur dans Android.

Pour contrôler l’accès à l’application-op, vous pouvez définir un mode sur : <comportement par défaut dl dt#MODE_DEFAULT<>><dd>, peut différer de l’application-op ou app-op <dt dt dd>Autoriser l’accès <dt<#MODE_IGNORED>dd>Ne pas autoriser l’accès, c’est-à-dire ne pas effectuer l’action demandée ou renvoyer aucune donnée ou d’espace réservé <dt<#MODE_ALLOWED>#MODE_ERRORED<>dd>Lever un SecurityException accès. Cela peut être supprimé à l’aide d’une ...noThrow méthode pour vérifier le mode </dl>

Les fournisseurs d’API doivent vérifier le mode retourné par #noteOp s’ils autorisent l’accès aux opérations contrôlées par l’application. #unsafeCheckOp doit être utilisé pour vérifier le mode si aucun accès n’est accordé. Par exemple, cela peut être utilisé pour afficher l’état des opérations d’application dans l’interface utilisateur ou lors de la vérification de l’état avant d’appeler #noteOp ultérieurement de toute façon.

Si une opération fait référence à un intervalle de temps (par exemple, une session d’enregistrement audio), le fournisseur d’API doit utiliser #startOp et #finishOp non #noteOppas .

<Autorisations d’exécution h3>et app-ops</h3>

Chaque autorisation d’exécution définie par la plateforme (en plus des modificateurs en arrière-plan) a une opération d’application associée qui est utilisée pour le suivi, mais également pour permettre des échecs silencieux. Par exemple, si l’autorisation d’exécution est refusée à l’appelant obtient un SecurityException, mais si l’autorisation est accordée et que l’application op est #MODE_IGNORED alors que les appelants obtiennent un comportement d’espace réservé, par exemple, les rappels d’emplacement ne se produisent pas.

<>Autorisations< d’application/h3>

Les autorisations des opérations d’application sont des autorisations définies par la plateforme qui peuvent être substituées. La vérification de sécurité des autorisations app-op doit vérifier #MODE_DEFAULT default l’état d’octroi d’autorisations. Si l’état app-op est défini #MODE_ALLOWED ou #MODE_IGNORED si l’état app-op doit être vérifié au lieu de l’état d’octroi d’autorisation.

Cette fonctionnalité permet d’accorder l’accès par défaut aux applications répondant aux exigences d’un certain niveau d’autorisation. Le comportement peut toujours être substitué si nécessaire.

<h2>Tracking</h2>

Les opérations d’application effectuent le suivi de nombreux événements importants, y compris tous les accès aux API protégées par l’autorisation d’exécution. Pour ce faire, effectuez le suivi lorsqu’une application op a été #noteOp noted ou #startOp started. Les données suivies peuvent uniquement être lues par les composants système.

<b>Uniquement #noteOp/#startOp sont suivis ; #unsafeCheckOp n’est pas suivi. Par conséquent, il est important d’appeler #noteOp ou #startOp de fournir l’accès aux opérations ou données protégées.</b>

Certaines applications transfèrent l’accès à d’autres applications. Par exemple, une application peut obtenir l’emplacement à partir du fournisseur d’emplacement du système, puis envoyer l’emplacement plus loin à une 3e application. Dans ce cas, l’application qui transmet les données doit appeler #noteProxyOp pour signaler le proxy d’accès. Cela peut également avoir un sens à l’intérieur d’une application unique si l’accès est transféré entre deux parties du balisage avec des balises d’attribution différentes.

Une application peut inscrire une OnOpNotedCallback application pour être informée de ce qui accède au système. Étant donné que chaque autorisation d’exécution a une application associée, cette API est particulièrement utile pour une application qui souhaite rechercher des accès inattendus aux données privées.

Documentation Java pour android.app.AppOpsManager.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

Constructeurs

AppOpsManager(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

Champs

ModeAllowed
Obsolète.

Résultat de #checkOp, , : #noteOp#startOpl’appelant donné est autorisé à effectuer l’opération donnée.

ModeDefault
Obsolète.

Résultat de #checkOp, , : #noteOp#startOpl’appelant donné doit utiliser sa vérification de sécurité par défaut.

ModeErrored
Obsolète.

Résultat de #checkOpNoThrow, , : #noteOpNoThrow#startOpNoThrowl’appelant donné n’est pas autorisé à effectuer l’opération donnée, et cette tentative doit provoquer une erreur irrécupérable, généralement un SecurityException.

ModeForeground
Obsolète.

Mode spécial qui signifie « autoriser uniquement lorsque l’application est au premier plan.

ModeIgnored
Obsolète.

Résultat de #checkOp, , : #startOp#noteOpl’appelant donné n’est pas autorisé à effectuer l’opération donnée, et cette tentative doit <>échouer< silencieusement/em> (il ne doit pas provoquer le blocage de l’application).

OpstrAddVoicemail

Requis pour accéder aux informations relatives à l’état du téléphone.

OpstrAnswerPhoneCalls

Répondre aux appels téléphoniques entrants

OpstrBodySensors

Accès aux capteurs du corps tels que la fréquence cardiaque, etc.

OpstrCallPhone

Permet à une application de lancer un appel téléphonique.

OpstrCamera

Obligatoire pour pouvoir accéder à l’appareil photo.

OpstrCoarseLocation

Accès aux informations d’emplacement grossières.

OpstrFineLocation

Accès aux informations de localisation correctes.

OpstrGetUsageStats

Accès à android.app.usage.UsageStatsManager.

OpstrMockLocation

Injectez un emplacement fictif dans le système.

OpstrMonitorHighPowerLocation

Surveillance continue des données d’emplacement avec une demande de puissance relativement élevée.

OpstrMonitorLocation

Surveillance continue des données d’emplacement.

OpstrPictureInPicture

Accès à l’image.

OpstrProcessOutgoingCalls

Api d’accès pour détourner les appels sortants

OpstrReadCalendar

Permet à une application de lire les données de calendrier de l’utilisateur.

OpstrReadCallLog

Permet à une application de lire le journal des appels de l’utilisateur.

OpstrReadCellBroadcasts

Lire les messages de diffusion de cellules précédemment reçus.

OpstrReadContacts

Permet à une application de lire les données de contacts de l’utilisateur.

OpstrReadExternalStorage

Lire le stockage externe.

OpstrReadPhoneNumbers

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

OpstrReadPhoneState

Requis pour accéder aux informations relatives à l’état du téléphone.

OpstrReadSms

Permet à une application de lire des sms.

OpstrReceiveMms

Permet à une application de recevoir des messages MMS.

OpstrReceiveSms

Permet à une application de recevoir des sms.

OpstrReceiveWapPush

Permet à une application de recevoir des messages Push WAP.

OpstrRecordAudio

Obligatoire pour pouvoir accéder à l’appareil microphone.

OpstrSendSms

Permet à une application d’envoyer des sms.

OpstrSystemAlertWindow

Requis pour dessiner sur d’autres applications.

OpstrUseFingerprint

Utilisez l’API d’empreinte digitale.

OpstrUseSip

Api d’accès pour l’appel SIP via VOIP ou Wi-Fi

OpstrWriteCalendar

Permet à une application d’écrire dans les données de calendrier de l’utilisateur.

OpstrWriteCallLog

Permet à une application d’écrire dans le journal des appels de l’utilisateur.

OpstrWriteContacts

Permet à une application d’écrire dans les données de contacts de l’utilisateur.

OpstrWriteExternalStorage

Écrire un stockage externe.

OpstrWriteSettings

Requis pour écrire/modifier/mettre à jour les paramètres système.

WatchForegroundChanges
Obsolète.

Indicateur pour #startWatchingMode(String, String, int, OnOpChangedListener): obtient également des rapports si l’état de premier plan de l’interface utilisateur d’une opération change.

Propriétés

Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
JniPeerMembers

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

PeerReference

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

CheckOp(String, Int32, String)

Ce membre est déconseillé.

CheckOpNoThrow(String, Int32, String)

Ce membre est déconseillé.

CheckPackage(Int32, String)

Ce membre est déconseillé.

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Dispose()

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
Dispose(Boolean)

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
FinishOp(String, Int32, String)

Ce membre est déconseillé.

FinishOp(String, Int32, String, String)

Signalez qu’une application n’effectue plus d’opération qui avait déjà été démarrée avec #startOp(String, int, String, String, String).

FinishProxyOp(String, Int32, String, String)

Signalez qu’une application n’effectue plus d’opération qui avait déjà été démarrée avec #startProxyOp(String, int, String, String, String).

GetHashCode()

Retourne une valeur de code de hachage pour l'objet.

(Hérité de Object)
IsOpActive(String, Int32, String)

Vérifie si l’opération donnée pour un package est active, i.

JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
NoteOp(String, Int32, String)

Ce membre est déconseillé.

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

Notez qu’une application effectue une opération et vérifiez si l’application est autorisée à l’effectuer.

NoteOpNoThrow(String, Int32, String)

Ce membre est déconseillé.

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

Comme #noteOp(String, int, String, String, String) mais au lieu de lever un SecurityException il retourne #MODE_ERRORED.

NoteProxyOp(String, String)

Ce membre est déconseillé.

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

Notez qu’une application effectue une opération pour le compte d’une autre application lors de la gestion d’un IPC.

NoteProxyOpNoThrow(String, String)

Ce membre est déconseillé.

NoteProxyOpNoThrow(String, String, Int32)

Ce membre est déconseillé.

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

Comme #noteProxyOp(String, String, int, String, String) mais au lieu de lever un SecurityException il retourne #MODE_ERRORED.

Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
PermissionToOp(String)

Obtient le nom d’application associé à une autorisation donnée.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetOnOpNotedCallback(IExecutor, AppOpsManager+OnOpNotedCallback)

Définir un nouveau OnOpNotedCallback.

StartOp(String, Int32, String)

Ce membre est déconseillé.

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

Signalez qu’une application a commencé à exécuter une opération de longue durée.

StartOpNoThrow(String, Int32, String)

Ce membre est déconseillé.

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

Comme #startOp(String, int, String, String, String) mais au lieu de lever un SecurityException il retourne #MODE_ERRORED.

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

Signalez qu’une application a commencé à exécuter une opération de longue durée pour le compte d’une autre application lors de la gestion d’un IPC.

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

Comme #startProxyOp(String, int, String, String, String) mais au lieu de lever un SecurityException il retourne #MODE_ERRORED.

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

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

StartWatchingMode(String, String, AppOpsManager+IOnOpChangedListener)

Surveillez les modifications apportées au mode d’exploitation pour l’opération donnée dans le package d’application donné.

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

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

StopWatchingActive(AppOpsManager+IOnOpActiveChangedListener)

Arrêtez de surveiller les modifications apportées à l’état actif d’une application.op.

StopWatchingMode(AppOpsManager+IOnOpChangedListener)

Arrêtez la surveillance qui a été démarrée précédemment avec #startWatchingMode.

ToArray<T>()

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
ToString()

Retourne une représentation de chaîne de l'objet.

(Hérité de Object)
UnregisterFromRuntime()

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
UnsafeCheckOp(String, Int32, String)

Vérifiez rapidement si une application peut être en mesure d’effectuer une opération.

UnsafeCheckOpNoThrow(String, Int32, String)

Comme #checkOp mais au lieu de lever un SecurityException il retourne #MODE_ERRORED.

UnsafeCheckOpRaw(String, Int32, String)

Comme #checkOp mais retourne le <mode em>raw</em> associé à l’opération.

UnsafeCheckOpRawNoThrow(String, Int32, String)

Comme #unsafeCheckOpNoThrow(String, int, String) mais retourne le <mode em>raw</em> associé à l’opération.

Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

IJavaPeerable.Disposed()

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
IJavaPeerable.DisposeUnlessReferenced()

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
IJavaPeerable.Finalized()

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
IJavaPeerable.JniManagedPeerState

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

(Hérité de Object)

Méthodes d’extension

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

GetJniTypeName(IJavaPeerable)

Les opérations d’application sont utilisées à deux fins : contrôle d’accès et suivi.

S’applique à