我需要我的活动以编程方式使用接收器处理 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);
有谁知道为什么这不捕获主页按钮的点击?
顺便说一句,我尝试通过创建另一个活动并在清单中指定其意图过滤器来解决此问题。我在清单中设置了活动 enabled="false" 但我不知道如何在运行时启用该活动。底线,我只想在我的应用程序运行时为我的应用程序注册主页按钮意图过滤器,我不知道该怎么做。