Cette page présente les API d'entreprise, leurs fonctionnalités et leur comportement disponibles dans Android 9.
Interface utilisateur du profil professionnel
Android 9 (niveau d'API 28) inclut les modifications de l'interface utilisateur dans la lanceur d'applications pour aider les utilisateurs à séparer les applications personnelles et professionnelles. Fabricants d'appareils la prise en charge de cela peut présenter aux utilisateurs dans des onglets professionnels et personnels distincts. Il est également plus facile pour les utilisateurs d'appareils d'activer et de désactiver le profil professionnel en y compris un commutateur dans l'onglet de travail du lanceur d'applications.
![](https://developer.android.com/static/images/about/versions/pie/p-work-profile.jpg?authuser=4&hl=fr)
Lors du provisionnement des profils professionnels et des appareils gérés, Android 9 inclut illustrations animées destinées à aider les utilisateurs de l'appareil à comprendre ces fonctionnalités.
Changer d'application d'un profil à un autre
Android 9 inclut des API permettant de lancer une autre instance d'une application dans un autre
profil pour aider les utilisateurs à passer d'un compte à un autre. Par exemple, une application de messagerie peut
fournir une UI permettant à l'utilisateur de basculer entre son profil personnel et son profil professionnel.
pour accéder à deux comptes de messagerie. Toutes les applications peuvent appeler ces API pour lancer
activité principale de la même application si elle est déjà installée dans l'autre profil. À
ajouter le changement de compte entre profils dans votre application, suivez la procédure ci-dessous pour appeler
des méthodes
Classe CrossProfileApps
:
- Appelez
getTargetUserProfiles()
pour obtenir une liste des profils dans lesquels vous pouvez lancer une autre instance de l'application. Cette méthode vérifie que l'application est installée dans les profils. - Appeler
getProfileSwitchingIconDrawable()
pour obtenir une icône que vous pouvez utiliser pour représenter un autre profil. - Appelez
getProfileSwitchingLabel()
pour obtenir texte localisé invitant l'utilisateur à changer de profil. - Appelez
startMainActivity()
pour lancer une instance de votre application dans un autre profil.
Vérifiez que l'activité principale que vous souhaitez lancer est déclarée dans le fichier
fichier manifeste avec une action d'intent ACTION_MAIN
et inclut
une catégorie d'intent CATEGORY_LAUNCHER
.
Activer ou désactiver les profils professionnels par programmation
Le lanceur d'applications par défaut (ou les applications disposant de l'autorisation MANAGE_USERS
ou
MODIFY_QUIET_MODE
) peut activer ou désactiver le profil professionnel en appelant
UserManager.requestQuietModeEnabled()
Vous pouvez
inspecter la valeur renvoyée pour savoir si l'utilisateur doit confirmer ses
les identifiants avant le changement d'état. Parce que le changement peut ne pas se produire
instantanément, écoutez l'événement
ACTION_MANAGED_PROFILE_AVAILABLE
ou
ACTION_MANAGED_PROFILE_UNAVAILABLE
annoncer pour savoir quand
mettre à jour l'interface utilisateur.
Votre application peut vérifier l'état du profil professionnel en appelant
UserManager.isQuietModeEnabled()
Verrouiller n'importe quelle application sur un appareil
À partir d'Android 9, les propriétaires d'appareils et de profils (des utilisateurs secondaires) peuvent verrouiller n'importe quelle application sur l'écran d'un appareil en activant le mode tâches verrouillées. Auparavant, les développeurs d'applications devaient ajouter la prise en charge des tâches de verrouillage dans leurs applications. Android 9 étend également la tâche de verrouillage API permettant de profiler les propriétaires d'utilisateurs secondaires non affiliés. Suivez les étapes ci-dessous pour verrouiller une application à l'écran:
- Appelez
DevicePolicyManager.setLockTaskPackages()
pour d'ajouter des applications à la liste d'autorisation pour le mode tâches verrouillées. - Appelez
ActivityOptions.setLockTaskEnabled()
pour lancer une application figurant sur la liste d'autorisation en mode tâches verrouillées.
Pour arrêter une application en mode tâches verrouillées, retirez-la du mode tâches verrouillées.
liste d'autorisation à l'aide de
DevicePolicyManager.setLockTaskPackages()
Activer les fonctionnalités de l'UI du système
Lorsque le mode tâches verrouillées est activé, les propriétaires de l'appareil et du profil peuvent l'activer
certaines fonctionnalités d'UI du système sur l'appareil en appelant
DevicePolicyManager.setLockTaskFeatures()
et en transmettant une
des indicateurs de fonctionnalité suivants:
LOCK_TASK_FEATURE_NONE
LOCK_TASK_FEATURE_SYSTEM_INFO
LOCK_TASK_FEATURE_HOME
LOCK_TASK_FEATURE_NOTIFICATIONS
ne peut être utilisée qu'avecLOCK_TASK_FEATURE_HOME
.LOCK_TASK_FEATURE_KEYGUARD
LOCK_TASK_FEATURE_OVERVIEW
ne peut être utilisée qu'avecLOCK_TASK_FEATURE_HOME
.LOCK_TASK_FEATURE_GLOBAL_ACTIONS
Vous pouvez appeler DevicePolicyManager.getLockTaskFeatures()
pour obtenir la liste des fonctionnalités disponibles sur un appareil lorsque le mode tâches verrouillées est activé.
est activé. Lorsqu'un appareil quitte le mode tâches verrouillées, il revient à l'état requis par
d'autres règles relatives aux appareils.
Supprimer les boîtes de dialogue d'erreur
Dans certains environnements, tels que les démonstrations en magasin ou l'information publique
s'affiche, vous ne souhaitez peut-être pas présenter de boîtes de dialogue d'erreur aux utilisateurs. Une règle relative aux appareils
le contrôleur (DPC) peut supprimer les boîtes de dialogue d'erreur système en cas de plantage ou d'absence de réponse
applications en ajoutant le paramètre
Utilisateur DISALLOW_SYSTEM_ERROR_DIALOGS
ou d'une restriction d'accès. Cette restriction affecte toutes les boîtes de dialogue lorsqu'elle est appliquée par le propriétaire d'un appareil
mais seules les boîtes de dialogue d'erreur affichées dans l'utilisateur principal ou secondaire sont supprimées
lorsque la restriction est appliquée par les propriétaires de la fiche. Cette restriction ne
affecter les profils professionnels.
Sous Android 9, les applications exécutées en plein écran immersif n'affichent pas l'info-bulle de rappel mode tâches verrouillées. L'info-bulle de rappel est un panneau présenté aux utilisateurs (lors du premier lancement) expliquant comment quitter le mode immersif.
Prendre en charge plusieurs utilisateurs sur des appareils dédiés
Android 9 introduit le concept d'utilisateur éphémère pour les applications (anciennement "appareils COSU"). Les utilisateurs éphémères sont les utilisateurs à court terme destinés aux cas où plusieurs utilisateurs partagent un même un appareil dédié. Cela inclut les sessions utilisateur publiques sur des appareils ou des kiosques d'accueil, ainsi que des sessions persistantes entre d'utilisateurs sur des appareils (par exemple, les travailleurs postés).
Les utilisateurs éphémères doivent être créés en arrière-plan. Ils sont créés en tant que les utilisateurs secondaires sur un appareil et sont supprimés (ainsi que les applications et les données) lorsqu'elles sont arrêtées, activées ou désactivées, ou que l'appareil redémarre. Pour créer un utilisateur éphémère, les propriétaires de l'appareil peuvent:
- Définissez l'option
MAKE_USER_EPHEMERAL
lors de l'appelDevicePolicyManager.createAndManageUser()
- Appeler
DevicePolicyManager.startUserInBackground()
pour lancer l'utilisateur éphémère en arrière-plan.
Notez que les applis ciblant Android 9 doivent intercepter
UserManager.UserOperationException
lors de l'appel
createAndManageUser()
Appelez la fonction
getUserOperationResult()
pour savoir pourquoi
utilisateur n'a pas été créé.
Recevoir des notifications d'événements
Le DeviceAdminReceiver
reçoit les notifications pour
événements suivants:
onUserStarted()
: appelé au démarrage d'un utilisateur.onUserSwitched()
: appelé lorsqu'un changement d'utilisateur est effectué. est terminée.onUserStopped()
: appelé aveconUserRemoved()
lorsqu'un utilisateur arrête ou dans les journaux .
Afficher des messages d'événement pour les utilisateurs
Les propriétaires d'appareils peuvent configurer les messages que voient les utilisateurs lorsqu'ils démarrer et terminer leurs sessions:
- Utilisez
DevicePolicyManager.setStartUserSessionMessage()
pour définir le message qui s'affiche lorsque l'utilisateur commence sa session. À récupérer le message, appelerDevicePolicyManager.getStartUserSessionMessage()
- Utilisez
DevicePolicyManager.setEndUserSessionMessage()
pour définir le message qui sera présenté à l'utilisateur à la fin de sa session. À récupérer le message, appelerDevicePolicyManager.getEndUserSessionMessage()
Se déconnecter et arrêter l'accès des utilisateurs
Les propriétaires de l'appareil
peuvent utiliser
DevicePolicyManager.setLogoutEnabled()
pour spécifier si
la déconnexion est activée pour
les utilisateurs secondaires. Pour vérifier si la déconnexion est activée, appelez
DevicePolicyManager.isLogoutEnabled()
Les propriétaires de profils des utilisateurs secondaires peuvent appeler
DevicePolicyManager.logoutUser()
pour arrêter l'utilisateur secondaire et
revenir à l’utilisateur principal.
Les propriétaires d'appareils peuvent utiliser DevicePolicyManager.stopUser()
pour arrêter un
un utilisateur secondaire spécifié.
Mise en cache des packages
Pour simplifier la gestion des comptes utilisateur sur les appareils partagés avec un nombre fixe d'utilisateurs, tels que des appareils pour les travailleurs postés, il est possible de mettre en cache les packages nécessaires pour les sessions multi-utilisateurs:
Appeler
DevicePolicyManager.setKeepUninstalledPackages()
pour spécifier la liste des packages à conserver en tant qu'APK. Pour récupérer une liste de ces packages, appelerDevicePolicyManager.getKeepUninstalledPackages()
Appeler
DevicePolicyManager.installExistingPackage()
pour installer un package qui a été conservé après sa suppression viasetKeepUninstalledPackages()
Méthodes et constantes supplémentaires
Android 9 inclut également les méthodes et constantes suivantes pour une meilleure compatibilité sessions utilisateur sur des appareils partagés:
DevicePolicyManager.getSecondaryUsers()
obtient la liste des tous les utilisateurs secondaires d'un appareil.DISALLOW_USER_SWITCH
est une restriction utilisateur que vous pouvez activer en appelantDevicePolicyManager.addUserRestriction()
pour empêcher le changement d'utilisateurLEAVE_ALL_SYSTEM_APPS_ENABLED
est un indicateur. disponible pourDevicePolicyManager.createAndManageUser()
Une fois définie, les applications système ne sont pas désactivées lors de la gestion des comptes utilisateur.UserManager.UserOperationException
est générée parDevicePolicyManager.createAndManageUser()
lorsqu'il est impossible de créer un compte utilisateur, contient la raison de l'échec.
Effacer les données des colis et supprimer les comptes
Les propriétaires d'appareils et de profils peuvent appeler
clearApplicationUserData()
pour effacer les données utilisateur
pour un package donné. Pour supprimer un compte
AccountManager
, les propriétaires de l'appareil et du profil peuvent appeler
removeAccount()
Restrictions des utilisateurs et contrôle accru des paramètres
Android 9 introduit un ensemble de restrictions utilisateur pour les DPC, ainsi que le Possibilité de configurer les APN, l'heure, le fuseau horaire et les paramètres système d'un appareil
Configurer les APN
Les propriétaires d'appareils peuvent utiliser les méthodes suivantes dans le
la classe DevicePolicyManager
pour configurer les APN sur un
appareil:
addOverrideApn()
updateOverrideApn()
removeOverrideApn()
getOverrideApns()
setOverrideApnEnabled()
isOverrideApnEnabled()
Configurer l'heure et le fuseau horaire
Les propriétaires d'appareils peuvent utiliser les méthodes suivantes dans le
Classe DevicePolicyManager
pour définir l'heure et le fuseau horaire
sur un appareil:
Appliquer des restrictions utilisateur aux paramètres importants
Android 9 ajoute des restrictions utilisateur pour désactiver les fonctionnalités et les paramètres système. À
ajouter une restriction, appeler
DevicePolicyManager.addUserRestriction()
par l'un des éléments
Constantes UserManager
suivantes:
DISALLOW_AIRPLANE_MODE
DISALLOW_AMBIENT_DISPLAY
DISALLOW_CONFIG_BRIGHTNESS
DISALLOW_CONFIG_DATE_TIME
DISALLOW_CONFIG_LOCATION
DISALLOW_CONFIG_SCREEN_TIMEOUT
DISALLOW_PRINTING
Si DISALLOW_CONFIG_BRIGHTNESS
et
DISALLOW_CONFIG_SCREEN_TIMEOUT
sont appliquées
sur un appareil, les propriétaires de l'appareil peuvent toujours définir l'écran
luminosité, luminosité de l'écran
mode et les paramètres de mise en veille de l'écran
sur l'appareil à l'aide de l'API
DevicePolicyManager.setSystemSetting()
Données mesurées
Les propriétaires d'appareils et les propriétaires de profils peuvent empêcher les applications d'utiliser l'adresse e-mail d'un appareil
avec des réseaux de données facturés à l'usage. Un réseau est considéré comme facturé à l'usage lorsque l'utilisateur
sensibles à une consommation intensive de données en raison du coût, des limites de données, ou de l'utilisation
les problèmes de performances. Pour empêcher les applications d'utiliser des réseaux facturés à l'usage, appelez
DevicePolicyManager.setMeteredDataDisabledPackages()
en transmettant une liste
de noms de packages. Pour récupérer les applications actuellement limitées, appelez
DevicePolicyManager.getMeteredDataDisabledPackages()
Pour en savoir plus sur les données facturées à l'usage dans Android, consultez la page Optimiser les données réseau Utilisation.
Migrer les DPC
Les outils de contrôle des règles relatives aux appareils (DPC) peuvent transférer la propriété d'un appareil ou votre profil professionnel à un autre DPC. Vous pouvez transférer la propriété pour déplacer certaines fonctionnalités dans l'application Android Management API, pour migrer les appareils votre ancien DPC ou pour aider les administrateurs informatiques à migrer vers votre EMM. Parce que vous ne faites que modifier la propriété de l'outil DPC, vous ne pouvez pas utiliser cette fonctionnalité pour modifier le type de gestion de l'authentification, par exemple, en passant d'un appareil géré à un profil professionnel vice-versa.
Vous pouvez utiliser la ressource XML sur les règles d'administration des appareils pour
indiquer que cette version de votre DPC prend en charge la migration. Un DPC cible
indique qu'il peut recevoir sa propriété en incluant un élément nommé
<support-transfer-ownership>
L'exemple ci-dessous montre comment procéder dans
le fichier XML d'administration de l'appareil de votre DPC:
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<support-transfer-ownership />
<uses-policies>
<limit-password />
<watch-login />
<reset-password />
</uses-policies>
</device-admin>
Les DPC qui souhaitent migrer la propriété d'une nouvelle application peuvent vérifier si un DPC cible
est compatible avec la migration en appelant la méthode DeviceAdminInfo
.
supportsTransferOwnership()
Avant le transfert
propriété, il incombe au DPC source de vérifier le DPC cible en
comparer les signatures d'applications. La classe PackageManager
inclut
pour travailler avec des signatures de code.
Android gère le système DPC source et les règles utilisateur via une propriété
transfert : les DPC n'ont pas besoin de les migrer. Un DPC source peut transmettre des données personnalisées à
le DPC cible à l'aide de paires clé/valeur dans un PersistableBundle
. Après un
transfert réussi, le DPC cible peut récupérer ces données en appelant
DevicePolicyManager.getTransferOwnershipBundle()
Pour transférer la propriété d'un appareil géré ou d'un profil professionnel, procédez comme suit : identique:
- Le DPC source vérifie que la version du DPC cible prend en charge la migration et confirme que la signature de l'application du DPC cible correspond à une valeur attendue.
- Le DPC source appelle
transferOwnership()
pour démarrer la transfert. - Le système fait du DPC cible l'administrateur actif et définit comme propriétaire de l'appareil géré ou du profil professionnel.
- Le DPC cible reçoit le rappel
onTransferOwnershipComplete()
et peut configurer à l'aide des valeurs de l'argumentbundle
. - En cas de problème lors du transfert, le système en restitue la propriété à
le DPC source. Si votre DPC source doit confirmer que le transfert de propriété
réussi, appelez
isAdminActive()
pour vérifier que le DPC source n'est plus l'administrateur actif.
Toutes les applications exécutées dans le profil professionnel reçoivent l'autorisation
ACTION_PROFILE_OWNER_CHANGED
diffuse lorsque
le propriétaire de la fiche change. Les applications exécutées sur un appareil géré reçoivent l'information
ACTION_DEVICE_OWNER_CHANGED
diffuse lorsque l'événement
les changements de propriétaire de l'appareil.
Profils professionnels sur des appareils entièrement gérés
Transfert de deux instances d'un DPC exécuté en tant que propriétaire de l'appareil et propriétaire du profil se déroule en deux étapes. Lorsque le profil personnel et le profil professionnel sont affilié, effectuez le transfert dans l'ordre suivant:
- Commencez par transférer la propriété du profil professionnel.
- Attendez le rappel de
DeviceAdminReceiver
.onTransferAffiliatedProfileOwnershipComplete()
pour confirmer que le profil professionnel a été transféré vers le DPC cible. - Enfin, transférez la propriété de l'appareil géré au DPC cible.
Reporter les mises à jour Over The Air (OTA)
Les propriétaires d'appareils peuvent reporter les mises à jour OTA du système jusqu'à 90 jours pour figer la version du système d'exploitation exécutée sur ces appareils lors des périodes critiques jours fériés). Le système applique un tampon obligatoire de 60 jours après une période pour éviter que l'appareil soit gelé indéfiniment.
Pendant cette période:
- Les appareils ne reçoivent aucune notification concernant les mises à jour OTA en attente.
- Les appareils n'installent aucune mise à jour OTA de l'OS.
- Les utilisateurs d'appareils ne peuvent pas rechercher manuellement les mises à jour OTA dans les paramètres.
Pour définir une période de blocage, appelez
SystemUpdatePolicy.setFreezePeriods()
Comme le gel
se répète chaque année, les dates de début et de fin de la période sont représentées ;
par des entiers comptant le nombre de jours écoulés depuis le début de l'année. Le jour de début doit
commencer au moins 60 jours après la fin de toute période de blocage précédente. Appareil
propriétaires peuvent appeler SystemUpdatePolicy.getFreezePeriods()
pour
obtenir la liste des périodes de blocage précédemment définies sur l'objet de règle de mise à jour du système ;
DevicePolicyManager.getSystemUpdatePolicy()
a été
mis à jour pour renvoyer les périodes de blocage définies par le propriétaire de l'appareil.
Restreindre le partage dans un profil professionnel
Les propriétaires de profil peuvent empêcher les utilisateurs de partager des données à caractère personnel dans un profil professionnel
sur l'appareil en ajoutant la restriction utilisateur
DISALLOW_SHARE_INTO_MANAGED_PROFILE
Cette restriction empêche le traitement et le partage d'intents suivants:
- Les applications du profil personnel partagent des données et des fichiers avec les applications du profil professionnel.
- Applications du profil professionnel sélectionnant des éléments du profil personnel, par exemple des images ou des fichiers.
Après avoir défini cette restriction, votre DPC peut toujours autoriser l'activité dans tous les profils.
d'intents en appelant
addCrossProfileIntentFilter()
Clés sécurisées et certificats de machine
Android 9 ajoute des API pour vous aider à utiliser des clés et des certificats que vous pouvez pour identifier les appareils en toute sécurité. Un DPC exécuté au niveau du propriétaire du profil ou de l'appareil ou un programme d'installation de certificat délégué, effectuez les tâches suivantes:
- Générez des clés et des certificats dans le matériel sécurisé (tel qu'un serveur
l'environnement d'exécution (TEE) ou le composant sécurisé (SE) de l'appareil Android. La
générées ne quittent jamais le matériel sécurisé et peuvent être utilisées à partir du Android
KeyChain. Appeler
DevicePolicyManager.generateKeyPair()
, qui fournit les (voirKeyPairGenerator
) et tous les ID matériel que vous comme le numéro de série ou le code IMEI. Pour en savoir plus sur la sécurisation les modifications matérielles, reportez-vous à la page Sécurité d'Android 9 améliorations. - Associer un certificat à une clé existante générée par l'appareil Appeler
DevicePolicyManager.setKeyPairCertificate()
fournit l'alias de la clé existante et de la chaîne de certificats, en commençant par la feuille certificat et en incluant la chaîne de confiance dans l’ordre. - Vérifiez que le matériel sécurisé protège la clé avant de l'utiliser. Pour vérifier mécanismes qui protègent la clé, suivez la procédure décrite dans la section Attestation :
- Les propriétaires d'appareils et les installateurs de certificats délégués peuvent recevoir un
des appareils ID matériel avec les versions du système Android. Appeler
DevicePolicyManager.generateKeyPair()
qui transmet un ou plusieurs surID_TYPE_BASE_INFO
,ID_TYPE_SERIAL
,ID_TYPE_IMEI
ouID_TYPE_MEID
dans ArgumentidAttestationFlags
. Le certificat renvoyé inclut le matériel ID figurant dans l'enregistrement d'attestation. Si vous ne souhaitez pas inclure les ID de matériel, transmettez0
Les propriétaires de profils peuvent uniquement recevoir des informations sur le fabricant (en transmettantID_TYPE_BASE_INFO
). Pour vérifier que l'appareil peut attester des identifiants, appelezisDeviceIdAttestationSupported()
- Empêcher les utilisateurs d'un appareil d'utiliser les clés d'entreprise de manière abusive (dans les tâches non professionnelles)
en rendant les certificats de clé
non sélectionnables. Le système n'inclut pas
des certificats non sélectionnables dans le panneau de sélection. Dans votre
DeviceAdminReceiver.onChoosePrivateKeyAlias()
méthode de rappel, renvoyez l'alias à votre clé d'entreprise pour que le système sélectionne automatiquement le certificat au nom de l'utilisateur. Pour créer une clé non sélectionnable, appelez les méthodesDevicePolicyManager
suivantes: <ph type="x-smartling-placeholder">- </ph>
setKeyPairCertificate()
et transmettezfalse
pour l'argumentisUserSelectable
.installKeyPair (ComponentName, PrivateKey, Certificate[], String, int)
et omettezINSTALLKEY_SET_USER_SELECTABLE
dans l'argumentflags
.
En combinant ces API, les entreprises peuvent identifier les appareils en toute sécurité et confirmer leur intégrité avant d'accorder l'accès:
- L'appareil Android génère une nouvelle clé privée dans le matériel sécurisé. Comme la clé privée ne quitte jamais le matériel sécurisé, elle reste secrète.
- L'appareil utilise la clé pour créer et envoyer une demande de signature de certificat (CSR) au serveur. La requête de signature de certificat inclut l'enregistrement d'attestation contenant le ID d'appareil.
- Le serveur valide la chaîne de certificats (associée à un certificat Google) et extrait les métadonnées de l'appareil de l'enregistrement d'attestation.
- Le serveur confirme que le matériel sécurisé protège la clé privée et que les ID des appareils correspondent aux enregistrements de l'entreprise. Le serveur peut également vérifier que le système Android et les versions du correctif répondent à toutes les exigences.
- Le serveur génère un certificat à partir de la requête de signature de certificat et l'envoie à l'appareil.
- L'appareil associe le certificat à la clé privée (qui est conservée dans matériel sécurisé) permettant aux applications de se connecter aux services d'entreprise.
Plus d'API, de fonctionnalités et de modifications de sécurité
ID des journaux de sécurité et des journaux réseau
Android 9 inclut des ID dans les journaux de sécurité et d'activité réseau. L'identifiant numérique augmente de façon linéaire pour chaque événement, ce qui permet aux administrateurs informatiques de repérer plus facilement des lacunes dans leurs journaux. Comme les journaux de sécurité et les journaux réseau sont collections, le système gère des valeurs d'ID distinctes.
Appelez SecurityEvent.getId()
,
DnsEvent.getId()
ou
ConnectEvent.getId()
pour obtenir la valeur de l'ID. Le système
réinitialise l'ID chaque fois qu'un DPC active la journalisation ou lorsque l'appareil redémarre.
Journaux de sécurité récupérés en appelant
DevicePolicyManager.retrievePreRebootSecurityLogs()
n'incluent pas ces identifiants.
Journalisation de sécurité
La journalisation de sécurité attribue à chaque SecurityEvent
un niveau de journalisation. Pour obtenir le niveau de journalisation,
appelez getLogLevel()
. Cette méthode renvoie une valeur de niveau de journalisation qui
Peut être l'une des valeurs suivantes: LEVEL_INFO
, LEVEL_WARNING
ou
LEVEL_ERROR
Android 9 enregistre les événements répertoriés dans le tableau ci-dessous dans les paramètres de sécurité
journaux. Pour vérifier le tag d'un événement, appelez getTag()
. À
Récupérez les données d'événement, appelez getData()
.
Taguer | Description de l'événement |
---|---|
TAG_CERT_AUTHORITY_INSTALLED |
Tentative d'installation d'un nouveau certificat racine dans l'espace de stockage des identifiants du système. |
TAG_CERT_AUTHORITY_REMOVED |
Tentative de suppression d'un certificat racine de l'espace de stockage des identifiants du système. |
TAG_CERT_VALIDATION_FAILURE |
Le contrôle de validation du certificat Wi-Fi a échoué lors de la connexion. |
TAG_CRYPTO_SELF_TEST_COMPLETED |
Le système a effectué l'auto-test cryptographique. |
TAG_KEYGUARD_DISABLED_FEATURES_SET |
Une application d'administration a désactivé des fonctionnalités de l'écran de verrouillage d'un appareil ou d'un profil professionnel. |
TAG_KEY_DESTRUCTION |
Tentative de suppression d'une clé cryptographique. |
TAG_KEY_GENERATED |
Tentative de génération d'une nouvelle clé cryptographique. |
TAG_KEY_IMPORT |
Tentative d'importation d'une nouvelle clé cryptographique. |
TAG_KEY_INTEGRITY_VIOLATION |
Android a détecté une clé de chiffrement ou d'authentification endommagée. |
TAG_LOGGING_STARTED |
La journalisation de sécurité a démarré l'enregistrement. |
TAG_LOGGING_STOPPED |
La journalisation de la sécurité a arrêté l'enregistrement. |
TAG_LOG_BUFFER_SIZE_CRITICAL |
Le tampon du journal de sécurité a atteint 90% de sa capacité. |
TAG_MAX_PASSWORD_ATTEMPTS_SET |
Une application d'administration a défini le nombre maximal autorisé de saisies d'un mot de passe incorrect. |
TAG_MAX_SCREEN_LOCK_TIMEOUT_SET |
Une application d'administration a défini un délai maximal de verrouillage de l'écran. |
TAG_MEDIA_MOUNT |
Le support de stockage amovible installé sur l'appareil |
TAG_MEDIA_UNMOUNT |
L'appareil a démonté un support de stockage amovible. |
TAG_OS_SHUTDOWN |
Le système Android s'est arrêté. |
TAG_OS_STARTUP |
Le système Android a démarré. |
TAG_PASSWORD_COMPLEXITY_SET |
Une application d'administration définit des exigences de complexité des mots de passe. |
TAG_PASSWORD_EXPIRATION_SET |
Une application d'administration a défini un délai d'expiration du mot de passe. |
TAG_PASSWORD_HISTORY_LENGTH_SET |
Une application d'administration a défini une longueur de l'historique des mots de passe, empêchant ainsi les utilisateurs de réutiliser d'anciens mots de passe. |
TAG_REMOTE_LOCK |
Une application d'administration a verrouillé l'appareil ou le profil professionnel. |
TAG_USER_RESTRICTION_ADDED |
Une application d'administration a défini une restriction utilisateur. |
TAG_USER_RESTRICTION_REMOVED |
Une application d'administration a supprimé une restriction utilisateur. |
TAG_WIPE_FAILURE |
Échec de la tentative d'effacement d'un appareil ou d'un profil professionnel. |
Question d'authentification via l'écran de verrouillage du profil professionnel
À partir d'Android 9, les propriétaires de profil peuvent exiger des utilisateurs qu'ils définissent un verrouillage distinct
un test d'authentification à l'écran pour leur profil professionnel
Restriction utilisateur DISALLOW_UNIFIED_PASSWORD
. À
vérifier si un utilisateur a défini la même question d'authentification sur l'écran de verrouillage sur son appareil et
profil professionnel, appel
DevicePolicyManager.isUsingUnifiedPassword()
Si un appareil dispose d'un écran de verrouillage distinct pour le profil professionnel,
DevicePolicyManager.setMaximumTimeToLock()
définit uniquement un
délai de verrouillage de l'écran de verrouillage pour le profil professionnel plutôt que pour l'ensemble de l'appareil.
Accès aux outils pour les développeurs
Pour vous aider à conserver les données professionnelles dans le profil professionnel, l'outil Android Debug Bridge (adb) ne peuvent pas accéder aux répertoires ni aux fichiers du profil professionnel.
Prise en charge de davantage d'options biométriques
Android 9 ajoute un contrôle ultraprécis sur l'authentification matérielle biométrique dans un
l'écran de verrouillage du profil professionnel. Appelez la méthode
DevicePolicyManager.setKeyguardDisabledFeatures()
avec KEYGUARD_DISABLE_FACE
et
KEYGUARD_DISABLE_IRIS
Pour désactiver toutes les méthodes d'authentification biométrique fournies par l'appareil, ajoutez KEYGUARD_DISABLE_BIOMETRICS
.
Abandon des règles d'administration des appareils
Android 9 marque les règles listées ci-dessous comme obsolètes pour les DPC utilisant des appareils administrateur. Les règles continuent de fonctionner sur Android 9 comme précédemment. À partir de la version Android 10, les mêmes stratégies génèrent une SecurityException lorsqu'elles sont appelées par un administrateur de l'appareil.
USES_POLICY_DISABLE_CAMERA
USES_POLICY_DISABLE_KEYGUARD_FEATURES
USES_POLICY_EXPIRE_PASSWORD
USES_POLICY_LIMIT_PASSWORD
Certaines applications utilisent l'administration des appareils pour le grand public. Pour comme le verrouillage et l'effacement d'un appareil égaré. Les règles suivantes continueront pour activer cette fonctionnalité:
Pour en savoir plus sur ces modifications, consultez Administration de l'appareil abandon.
Enregistrement simplifié des codes QR
Bibliothèque de codes QR intégrée
Android 9 est fourni avec une bibliothèque de codes QR pour permettre aux appareils dotés d'un code QR de simplifier le processus. et le provisionnement. Les administrateurs informatiques n'ont plus besoin de saisir manuellement les informations Wi-Fi pour configurer un appareil. Android 9 permet d'inclure ces informations Wi-Fi à la place. dans un code QR. Lorsqu'un administrateur informatique scanne le code QR avec le compte l'appareil se connecte automatiquement au Wi-Fi et entre dans le provisionnement sans intervention manuelle supplémentaire.
La méthode de provisionnement par code QR est compatible avec les extras de provisionnement suivants : spécifiez les détails du réseau Wi-Fi:
EXTRA_PROVISIONING_WIFI_HIDDEN
EXTRA_PROVISIONING_WIFI_PAC_URL
EXTRA_PROVISIONING_WIFI_PASSWORD
EXTRA_PROVISIONING_WIFI_PROXY_BYPASS
EXTRA_PROVISIONING_WIFI_PROXY_HOST
EXTRA_PROVISIONING_WIFI_PROXY_PORT
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE
EXTRA_PROVISIONING_WIFI_SSID
Définir la date et le fuseau horaire à l'aide des options de provisionnement supplémentaires
La méthode de provisionnement par code QR prend en charge les extras de provisionnement pour définir l'heure et fuseau horaire d'un appareil:
Options d'effacement des données
Les administrateurs des appareils peuvent afficher un message personnalisé aux utilisateurs lorsqu'ils suppriment un devoir.
profil ou utilisateur secondaire. Le message aide les utilisateurs d'appareils à comprendre que leur
L'administrateur informatique a supprimé le profil professionnel ou l'utilisateur secondaire. Appeler
wipeData(int, CharSequence)
et fournissez une courte
message explicatif. Lorsque l'utilisateur principal ou le propriétaire
de l'appareil l'appellent, le système
n'affiche pas de message et commence à rétablir la configuration d'usine de l'appareil.
Pour supprimer les données d'abonnement d'une carte SIM eUICC intégrée, appelez
wipeData()
et inclure WIPE_EUICC
dans flags
.
Méthodes à suivre pour les propriétaires de fiches affiliés
Les méthodes suivantes sont disponibles pour les fiches affiliées propriétaires:
DevicePolicyManager.setKeyguardDisabled()
DevicePolicyManager.setStatusBarDisabled()
PackageInstaller.createSession()