Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在冰激凌三明治和果冻豆中锁定主按钮_Android_Home Button - Fatal编程技术网

Android 在冰激凌三明治和果冻豆中锁定主按钮

Android 在冰激凌三明治和果冻豆中锁定主按钮,android,home-button,Android,Home Button,我正在开发锁屏,我想禁用冰淇淋三明治和果冻豆中的主页按钮,我可以在android 2.2、2.3中使用以下方法阻止它 @Override public void onAttachedToWindow() { // TODO Auto-generate method stub this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow(); }

我正在开发锁屏,我想禁用冰淇淋三明治和果冻豆中的主页按钮,我可以在android 2.2、2.3中使用以下方法阻止它

  @Override
public void onAttachedToWindow() {
    // TODO Auto-generate method stub
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();
}
我也试过这个

   getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
这里我也没有通过
onPause
方法或
onKeyDown


但是这些方法在ICS中对我不起作用,Jelly bean如果有任何方法可以替代它,那么请在ICS后告诉我,即Android 4+,出于安全原因,HomeButton的覆盖已被删除,以便在应用程序被证明是恶意软件时允许用户退出

另外,不让用户离开应用程序并不是一个很好的实践。但是,由于您正在制作一个锁屏应用程序,因此您可以将该活动声明为一个启动器,这样当按下Home按钮时,它将简单地重新启动您的应用程序并保持在那里(用户只会注意到屏幕上的轻微闪烁)

编辑#1:这里是更适合您需要的


编辑#2:刚刚遇到,但没有测试它。但看起来有点前途。不确定它是否有效,但您可以尝试一下。

您可以尝试的东西很少:

  • 当调用
    onPause()
    方法时,您可以将活动设置为单顶部,并使用“清除到顶部”标志重新开始,这将阻止“主页”按钮并打开其他活动

  • 收听BOOT_COMPLETED广播以启动您的活动-这将保护您免受用户为了重新启动而从设备中取出电池的攻击

  • 如果你的应用程序处于活动状态,则每秒钟测试一次,如果不是,则启动它-这将保护你免受某些用户的攻击,这些用户可能试图关闭你的应用程序(可能是使用外部工具)


这样做,就没有人能够退出你的应用。

我认为从Android应用程序中检测和/或拦截HOME按钮是不可能的。这是内置在系统中的,用于防止无法退出的恶意应用。

这是其中的一些精彩之处!我在我的一个应用程序中使用了Boot_completed广播,但是使用
AlarmManager
纯粹是天才+1 !!@Swayam,将活动声明为launcher将提示用户选择默认launcher,接下来它还将搞乱launcher配置。我同意您的看法,用户将被提示选择默认launcher。但是,他只需要做一次选择,它会被保存为他的偏好。这是我们需要做的一些假设,特别是考虑到用户希望锁屏应用程序按预期工作的事实。至于“搞乱发射装置配置”,请你详细说明一下,因为我从来没有遇到过这样的问题?