Ich mache eine proprietäre App für eine Firma, die es nie in Ice Cream Sandwich (Android 4.0) auf den Android Market (oder Play Store, denke ich jetzt) veröffentlichen wird.Disable Home-Taste in Android ICS (4.0)
Ich muss das Home deaktivieren, damit die Benutzer Software nicht böswillig deinstallieren oder die von der App erfassten Daten löschen können. Diese neueste Version ist die erste in 4.0 geschrieben, die früheren Versionen wurden in 2.2 und 3.2 geschrieben.
Um die Home-Taste in 2.2 zu deaktivieren, habe ich die App als Home-Ersatz zugeordnet, also öffnete die Taste die App gerade, aber ich kann diese Methode nicht mehr verwenden, da wir dadurch unsere Updates nicht mehr ausführen können . (wir wollen nicht den Verbraucher geben die Möglichkeit, erneute Auswahl eines Home Standard, wie zum Löschen von Daten führen würde
der Code ich habe für disableing die Home-Taste in 3.2:
@Override
public void onAttachedToWindow() {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
und, unter onCreate:
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
Aber wenn ich den gleichen Code, der auf meinem 3.2 Tablet funktioniert, funktioniert es nicht auf meinem 4.0 Tablet.
Ich frage mich, ob es eine neue API oder Methode gibt, die 4.0 hat, die den gleichen Effekt wie ich derzeit in meiner 3.2-Implementierung erreichen werde.
Danke für jede Hilfe oder Richtung.
Adam
Ihre App verhält sich wie Malware, da sie die Kontrolle über das Gerät vom Benutzer wegnimmt. Android 4.0+ soll genau das verhindern. – Dubs