我需要我的活动来处理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);
有谁知道为什么这不会捕获主页按钮点击?
顺便说一下,我尝试通过创建另一个活动来解决这个问题 并在清单中指定其intent过滤器。我设定了活动 清单中的enabled =“false”,但我无法弄清楚如何 在运行时启用该活动。最重要的是,我只想 只在我的应用程序注册我的应用程序的主页按钮意图过滤器 应用程序正在运行,我无法弄清楚如何做到这一点。
答案 0 :(得分:3)
如果您尝试实施替换主屏幕,则需要将Intent
过滤器放在清单中 - 请参阅SDK中的主页示例应用。
如果您试图阻止HOME键,请不要。
答案 1 :(得分:0)
永远不应该有一个需要覆盖主页按钮的情况,它确保用户始终保持对手机的控制。你究竟想做什么?如果要检测活动何时不再可见,则应覆盖onStop()。