9

我正在为一家公司制作一个专有应用程序,该应用程序永远不会在 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 实现中相同的效果。

感谢您的任何帮助或指导。

亚当

4

2 回答 2

6

怎么解决。。

编写第二个实现主屏幕的应用程序,当按下主屏幕按钮时,该应用程序将进入前台。然后,您需要从这个应用程序将您的主应用程序推回前台。唯一的问题是您的主屏幕应用程序永远不需要更新,但您应该能够自由更新主应用程序,而无需选项卡要求设置主启动器。

希望这是有道理的..

于 2012-04-12T06:39:45.487 回答
0

不......你不能覆盖Android4.0的主页按钮至少......使用“hotveryspicy”的解决方案并且,如果你想响应主页按钮,实现一个主页屏幕。

于 2012-04-09T18:34:27.323 回答