我正在为一家公司制作一个专有应用程序,该应用程序永远不会在 Ice Cream Sandwich(Android 4.0)中发布到 Android 市场(或者我现在猜是 Play 商店)。
我需要禁用主页,以便用户无法恶意卸载软件或删除应用程序捕获的数据。这个最新版本是第一个用 4.0 编写的,以前的版本是用 2.2 和 3.2 编写的。
为了在 2.2 中禁用 Home 按钮,我将应用程序关联为家庭替代品,因此该按钮只是重新打开了应用程序,但我不能再使用此方法,因为这在某种程度上阻止了我们对应用程序进行更新(我们不不想让用户重新选择家庭默认设置,因为这会导致数据删除。
我在 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();
}
并且,在 onCreate 下:
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
但是当我运行在我的 3.2 平板电脑上运行的相同代码时,它在我的 4.0 平板电脑上不起作用。
我想知道 4.0 是否有一个新的 API 或方法可以实现与我目前在 3.2 实现中相同的效果。
感谢您的任何帮助或指导。
亚当