Désactiver le Bouton Home dans Android ICS (4.0)

Je fais une app propriétaire pour une société qui ne sera jamais communiqué à l'Android Market (Play Store, je suppose que maintenant) Ice Cream Sandwich (Android 4.0).

J'ai besoin de désactiver la Maison afin que les utilisateurs ne peuvent pas malicieusement désinstaller des logiciels ou supprimer les données que l'application capture. Cette dernière version est le premier à être écrit dans la version 4.0, les versions précédentes ont été écrites en 2.2 et 3.2.

Pour désactiver le bouton d'Accueil en 2.2, j'ai associé l'application comme un remplacement à la maison, de sorte que le bouton de vient de rouvrir l'application, mais je ne peux plus utiliser cette méthode, qui peu nous empêche de faire nos mises à jour de l'application (nous ne voulons pas donner à l'utilisateur la possibilité de réactiver un Accueil par défaut, car cela conduirait à la suppression de vos données.

Le code que j'ai pour disableing le bouton Accueil dans le 3.2 est:

@Override
public void onAttachedToWindow() {
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
     this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
     super.onAttachedToWindow();
}

et, en vertu de l'onCreate:

KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();

Mais quand j'exécute le même code qui ont travaillé sur mon 3.2 tablette, il ne fonctionne pas sur mon 4.0 tablet.

Je me demandais si il y a une nouvelle API ou une méthode qui 4.0 a qui nous permettra d'atteindre le même effet que j'ai actuellement dans mon 3.2 mise en œuvre.

Merci pour toute aide ou de la direction.

Adam

Votre application se comporte comme les logiciels malveillants, en ce qu'elle prend le contrôle de l'appareil à l'écart de l'utilisateur. Android 4.0+ est conçu pour empêcher exactement que.

OriginalL'auteur adamacdo | 2012-04-09