1

J'essaie d'utiliser DevicePolicyManager pour masquer Facebook sur mon appareil à partir de mon application. En ce moment, j'ai réussi à désactiver la caméra sur une condition en appelant la méthode setCameraDisabled.Masquer l'application sur Android à l'aide de DevicePolicyManager

Maintenant j'essaie de cacher Facebook donc j'ai appelé la méthode setApplicationHidden et ai spécifié bundleId de Facebook comme l'un des paramètres. Lorsque j'exécute mon code, j'obtiens une Exception de sécurité java indiquant que mon administrateur ne possède pas le profil.

Comment puis-je obtenir l'autorisation de l'utilisateur pour pouvoir arrêter cette exception de sécurité? Existe-t-il un meilleur moyen de restreindre par programmation une application tierce?

Merci

+0

AFAIK, cela n'a rien à voir avec "l'autorisation de l'utilisateur". Par exemple, pour être propriétaire d'un périphérique, vous devez effectuer un processus d'installation spécial lors du premier démarrage du périphérique. Le «propriétaire du profil» et le «propriétaire de l'appareil» font tous deux partie du système Android for Work. – CommonsWare

+0

avez-vous caché des applications en utilisant l'api setApplicationHidden? Lorsque j'ai essayé cette API, elle ne masque pas l'application et renvoie une valeur erronée même si mon application est propriétaire d'un périphérique. Avez-vous une idée de pourquoi cela retourne faux? –

Répondre

0

Pour utiliser les méthodes fournies par la classe DevicePolicyManager nous devons rendre le dispositif d'application propriétaire. J'ai utilisé la commande dpm pour rendre mon application deviec propriétaire. Voici les étapes pour elle

  1. premier dispositif de réinitialisation d'usine
  2. installer votre application et l'activer en tant qu'administrateur.
  3. de course terminal de commande suivante

dpm set-appareil-propriétaire packageNameOfApp/DeviceAdminRcvrwithFullPackageName

vous pouvez trouver discussion delailed here