我需要我的活动处理HOME按钮按了 接收器编程,但该事件在不触发。我可以, 然而,注册成功,如果我抓住这个意图过滤器 在活动manifest.xml中部分声明它。下面的代码为 该不工作的接收器:

BroadcastReceiver br;

br = new BroadcastReceiver() {
       @Override
       public void onReceive(Context context, Intent intent) {
               return;  // I put a breakpoint here to see if this gets called
       }
};


IntentFilter intf = new IntentFilter();
intf.addAction(Intent.ACTION_MAIN);
intf.addCategory(Intent.CATEGORY_HOME);
intf.addCategory(Intent.CATEGORY_DEFAULT);

registerReceiver(br, intf);

有谁知道为什么这个不能捕获home键点击?

顺便说一句,我试图解决这个工作通过创建另一个活动 并指定在清单的意图过滤器。我设置活动 启用在清单=“假”,但我无法弄清楚如何 在运行时支持该活动。底线,我只是想 注册home键意图过滤我的应用程序,只有当我 应用程序正在运行,并且我不能找出如何做到这一点。

有帮助吗?

解决方案

如果你想实现一个更换主屏幕,您需要Intent过滤器是在清单 - 见首页示例应用程序的SDK

如果你正在试图阻止HOME键,请不要。

其他提示

有不应该是你应该需要覆盖家庭按钮的情况下,它的存在,以确保用户始终保持对他的电话的控制。究竟什么是你想怎么办?如果您希望在活动不再可见检测,你应该覆盖的onStop()。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top