AppOpsManager Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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 #noteOp
pas .
<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 |
ModeDefault |
Obsolète.
Résultat de |
ModeErrored |
Obsolète.
Résultat de |
ModeForeground |
Obsolète.
Mode spécial qui signifie « autoriser uniquement lorsque l’application est au premier plan. |
ModeIgnored |
Obsolète.
Résultat de |
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 à |
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 |
Propriétés
Class |
Retourne la classe runtime de ce |
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 |
FinishProxyOp(String, Int32, String, String) |
Signalez qu’une application n’effectue plus d’opération qui avait déjà été démarrée avec |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
UnsafeCheckOpRaw(String, Int32, String) |
Comme |
UnsafeCheckOpRawNoThrow(String, Int32, String) |
Comme |
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. |