Comment éteindre l'écran ou envoyer l'appareil en veille
Je veux envoyer l'appareil en veille ou éteindre l'écran. J'ai enquêté et trouvé ce sujet: Éteindre l'écran sur Android
Fondamentalement, il existe trois façons de le faire, mais j'ai trouvé des problèmes pour les trois:
a) Choix 1:
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
manager.goToSleep(int amountOfTime);
Problème: Il provoque des FC. J'ai lu, j'ai besoin de DEVICE_POWER
autorisations, mais il ne peut pas être accordée pour la normale apps.
b) Choix 2:
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();
Problème: Cela ne fonctionne pas pour moi. Je ne sais pas pourquoi. Il ne me donne pas une FC, mais il est inoffensif.
c) Choix 3:
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
Problème: je peux le faire fonctionner, mais lorsque vous essayez d'allumer l'appareil, il fait des choses étranges, comme n'aime pas en retour, ou si mes applications est à l'avant, se met automatiquement en veille juste après avoir appuyé sur le bouton. Cela ressemble plus à une astuce ou une solution de contournement que la normale solution.
Quelqu'un peut-il me dire la bonne méthode pour envoyer l'appareil pour le sommeil ou la tour de l'écran qui peut fonctionner sans problèmes? Il son rare pour moi c'est une fonctionnalité simple comme cela n'a pas une bonne façon de l'utiliser (ou au moins bien documentés)
source d'informationauteur Tibor
Vous devez vous connecter pour publier un commentaire.
Je réponds moi-même. Il est possible d'éteindre l'appareil, mais l'application est de mettre en œuvre l'administrateur de l'appareil fonctionnalité via l'API: Administration De L'Appareil
Dans cette API, il est un
locknow()
fonction que de faire ce que je veux.De toute façon, c'est pour l'extension de la android du matériel et des dispositifs de sécurité et il est très peu probable que quelqu'un veut le contrôle de l'appareil.
Ce que je voulais, c'est la capacité de verrouiller l'appareil à partir d'un simple geste. Comme je ne veux pas faire mon propre gestionnaire de périphériques de classe-je vérifier si l'application gratuite "lockScreen" est installé, et de le lancer. C'est un raccourci et un moyen facile de faire ce que je veux. Cette application doit être enregistrer en tant que gestionnaire de périphériques, de sorte qu'il a mis en œuvre cette classe. Il est possible de l'obtenir gratuitement à partir du marché.
Ma demande déjà fait cette amende, j'ai trouvé ça dans mon
PowerManager.class