【发布时间】:2015-12-11 13:11:43
【问题描述】:
我在安卓锁屏上工作 我们如何禁用导航软按钮,已经尝试了所有方法,systemoverlay 但它不起作用,按下主页按钮会终止服务和活动。
【问题讨论】:
-
该解决方案仅适用于具有硬主页键@billynomates 的设备,您无法在 4.0+ 中禁用主页按钮
标签: android lockscreen
我在安卓锁屏上工作 我们如何禁用导航软按钮,已经尝试了所有方法,systemoverlay 但它不起作用,按下主页按钮会终止服务和活动。
【问题讨论】:
标签: android lockscreen
后退按钮可以通过重写 onbackpressed() 方法来控制。
可以通过启动应用程序来控制主页按钮。
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>
上面的代码显示了用于创建启动器的意图过滤器。有关 Google 将应用程序设为启动器应用程序的更多信息。
在您的
中添加以下代码ActivityManager activityManager = (ActivityManager) getApplicationContext() .getSystemService(Context.ACTIVITY_SERVICE);
activityManager.moveTaskToFront(getTaskId(), ActivityManager.MOVE_TASK_NO_USER_ACTION);
【讨论】:
您无法在 4.0+ 版本上覆盖主页按钮 这是出于安全目的。
但是,您可以创建一个显示处理所有触摸事件的窗口的服务。 看看this question的最佳答案
您还可以查看一些“应用程序锁定”应用程序,因为它们使用相同的技术。
但这种方式并不完全奏效。在某些设备上,可以在您的服务上方打开 NotificationBar。
还有一种方式,可以覆盖home键,但是对Recent无效。
您应该创建一个在设备上被视为启动器应用程序的应用程序,但看起来像一个储物柜。 现在,当用户解锁设备时,您的应用程序会启动实际的 Launcher 应用程序。
【讨论】: