Android的 - 是否有可能禁用home键的点击Android的 - 是否有可能禁用home键的

2019-05-09 00:54发布

我有一个应用程序,当它推出我必须禁用的Android设备上的所有按钮,我成功地禁用结束通话等。 我需要禁用的主页按钮点击。 它不应该产生的点击任何行动。

任何建议高度赞赏

Answer 1:

我敢肯定,幼儿锁只是使用BroadcastReciever并侦听Intent.ACTION_MAIN和类别Intent.CATEGORY_HOME -这就是为什么当你第一次启动它,它会告诉你勾选“使用默认应用程序”对话框,让你选择孩子锁。

因此,它不是真正的封锁Home键可言,它只是设置自己打扮成默认广播接收器:

Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);

当您启动幼儿锁,它可能设置一个内部标志,如果你按下home键,它只是将窗口前。 如果没有设置标志,它可能启动启动明确。

我希望这是有道理的。 这只是一个理论,但我几乎可以100%肯定这是它是如何做。



Answer 2:

添加以下代码到你的活动:

@override

public void onAttachedToWindow()
{  
       this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);     
       super.onAttachedToWindow();  
}

编辑:

这适用于所有旧版本的Android。 但不会工作 ICS和果冻豆,并给你崩溃的应用程序

这是什么4行java代码意味着Android应用程序?



Answer 3:

在你的manifest.xml添加这为您的主要活动:

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.HOME" />

主页按钮总是(重新)启动您的活动。 工程在升级Froyo。



Answer 4:

在这里 ,你可以找到它坚持在主页上我的Android示例应用程序。 主页,后退,通话,电源按钮被禁用。 用户只能通过输入密码结束应用程序。



Answer 5:

我找到了一种方法来解决HOME键。 为了您的应用程序设置的表现为

<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.HOME" /> 
<category android:name="android.intent.category.DEFAULT" />                            
<category android:name="android.intent.category.MONKEY"/>

现在乌尔应用是替代启动应用程序。

使用adb,并使用包管理器禁用启动应用程序

pm disable com.android.launcher2

现在的Home键按下将laways留在同一个屏幕上。



Answer 6:

进一步的除了杰弗里斯后,这里的东西,为我工作(现在仍然允许半透明主题)

@Override
public void onAttachedToWindow()
{  
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);     
    super.onAttachedToWindow();  
}

监守它使键盘锁上来,你也可以只禁用键盘锁,而应用程序是使用:

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

这个作品真的很好,让你的键盘保护自己的应用程序。



文章来源: Android - Is It possible to disable the click of home button