2012-12-13 5 views
10

Je souhaite implémenter des lignes de code permettant à Android d'activer/de désactiver l'écran comme si nous allions/éteignions rapidement l'appareil à l'aide du bouton d'alimentation. Y'a-t'il un quelconque moyen d'y arriver?Activer/désactiver l'appareil Android

+0

Voulez-vous verrouiller l'appareil ou l'éteindre? – cjds

+0

Le exactement ce que je veux est l'affichage LockScreen de rappel. Après avoir éteint l'écran -> l'allumer -> le LockScreen sera affiché. Avez-vous une suggestion? – Nguyen

+0

Si vous obtenez une erreur d'exécution, j'ai posté une solution – cjds

Répondre

2

Il semble que vous souhaitiez verrouiller l'appareil sans l'éteindre. Pour verrouiller l'appareil, c'est un code simple. Mentionné here

Il utilise dispositif Policy Manager lockNow() méthode

En cas d'RuntimeError utiliser la méthode décrite dans cette question pour définir des autorisations

Android DevicePolicyManager lockNow()

http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html

Pour désactiver le appareil:

Ce n'est pas possible, mais vous pouvez le redémarrer en utilisant PowerManager

http://developer.android.com/reference/android/os/PowerManager.html#reboot

RemarqueCet nécessite l'autorisation REBOOT et OS peut l'annuler.

+0

Je travaille sur le framework Android, donc peut-être il y a quelques différences entre l'application bwt et le framework. Ça ne marche toujours pas. De toute façon, merci pour votre réponse – Nguyen

0

Oui, vous pouvez le faire avec la programmation en utilisant ci-dessous le code, Note: Cette solution ne fonctionne que sur le périphérique enraciné

Arrêt:

try { 
    Process proc = Runtime.getRuntime() 
        .exec(new String[]{ "su", "-c", "reboot -p" }); 
    proc.waitFor(); 
} catch (Exception ex) { 
    ex.printStackTrace(); 
} 

Redémarrer:

Même code, utilisez simplement "reboot" au lieu de "reboot -p".

Questions connexes