Android-如何暂时禁用主页按钮并重新创建Car Home和Toddler Lock所做的工作?

问题描述

| 因此,我正在尝试做很多人以前尝试过的事情:创建一个不响应“主页”按钮的应用程序。我已经看过许多关于SO的类似问题,但是都没有达到我想要的方式。 我尝试做的一件事是使我的应用实质上是另一个启动器。 (注意:要使其正常工作,需要少量用户输入。) 从我的应用程序清单中:
<category android:name=\"android.intent.category.DEFAULT\" />       
<category android:name=\"android.intent.category.HOME\" />
我还禁用了后退按钮,并将启动模式设置为“ singleInstance”。 我认为蹒跚学步的锁做了类似的事情,但我的实现方式并不完全相同。使用我的实现,我的应用程序无限期地作为默认的主启动器存在,包括退出应用程序后。是否可以在Application Manifest以外的地方声明相同的行为,在该地方可以临时打开它,也可以在退出应用程序时将其关闭? 汽车之家也做了类似的事情,实际上比幼儿锁要好。我不确定它的操作方式(由于它是本机应用程序,因此可能具有更多权限),但是它可以执行相同的操作而无需用户接受备用启动器或将应用程序选择为默认启动器。有人对它的运作有任何想法吗?     

解决方法

        hackbod本质上是正确的。我已经得到了很多期望的行为 进行“捕获主键”活动 如问题所述。这个 不是主要活动 程序。 在清单中,将其禁用。 在应用中,启用“捕获首页” 想要在家时进行“键”活动 捕获发生并禁用它 当你想退出时。 唯一的问题是捕获主键活动应实际执行的操作。就我而言,我需要它只是转到应用程序的开始...,以便它生成CATEGORY_HOME意图,测试其是否可以正确解析,如果可以,则继续前进至应用程序。如果无法正确解析,它将通知用户,等待用户准备就绪,然后使用该意图。这样,如果用户选择了您的应用,但未将其设置为默认应用,则会再次收到提示。     ,        要在用户启用您的应用作为家庭应用后禁用此功能,请使用PackageManager.setComponentEnabledSetting()禁用该活动。请注意,这意味着覆盖首页的活动不应成为您应用的主要活动,否则禁用该活动后,用户将无法返回您的应用。 CarHome有很大的不同-当Android处于不同的UI模式(在汽车上为汽车模式或在桌面底座上为桌面模式)时,当用户按下主页时会启动不同的Intent,以便他们可以拥有不同的在那种环境下的“家”。如果您不在编写汽车模式主屏幕,则不应使用此功能。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...