app中对于HOME键广播事件的接收

测试貌似Android不能对home键做监听,查了一个方法,用BroadcastReceiver来监听。

首先,自定义一个BroadcastReceiver:

    class HomeKeyEventBroadCastReceiver extends BroadcastReceiver {  
      
        static final String SYSTEM_REASON = "reason";  
        static final String SYSTEM_HOME_KEY = "homekey";//home key  
        static final String SYSTEM_RECENT_APPS = "recentapps";//long home key  
          
        @Override  
        public void onReceive(Context context, Intent intent) {  
            String action = intent.getAction();  
            if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {  
                String reason = intent.getStringExtra(SYSTEM_REASON);  
                if (reason != null) {  
                    if (reason.equals(SYSTEM_HOME_KEY)) {  
                        // home key处理点  
                          
                    } else if (reason.equals(SYSTEM_RECENT_APPS)) {  
                        // long home key处理点  
                    }  
                }  
            }  
        }  
    }  

注册
receiver = new HomeKeyEventBroadCastReceiver();  
registerReceiver(receiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

嗯可以了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Androidapp广播接收器是指在Android系统,一个应用程序可以发送广播,而另一个应用程序可以注册并接收广播。 实现跨app广播接收器需要以下步骤: 1. 发送广播:在发送广播的应用程序,需要创建一个Intent对象,并使用setAction()方法为其设置一个自定义的Action,用于标识该广播。然后,使用sendBroadcast()方法发送该广播。例如: ```java Intent intent = new Intent(); intent.setAction("com.example.MY_CUSTOM_ACTION"); sendBroadcast(intent); ``` 2. 注册接收器:在接收广播的应用程序,需要创建一个BroadcastReceiver对象,并使用IntentFilter对象来过滤想要接收广播。然后,使用registerReceiver()方法注册该广播接收器。例如: ```java BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { // 处理接收到的广播 } }; IntentFilter filter = new IntentFilter(); filter.addAction("com.example.MY_CUSTOM_ACTION"); registerReceiver(receiver, filter); ``` 在注册广播接收器时,需要注意在AndroidManifest.xml文件声明接收器的权限,以便允许不同应用程序之间的广播通信。 需要注意的是,发送广播接收广播的应用程序应该在同一个设备上安装和运行,并且具有相应的权限。否则,跨app广播接收器可能无法正常工作。 总之,跨app广播接收器是Android为了实现不同应用程序之间的通信而提供的一种机制,使应用程序能够发送广播并让其他应用程序接收并处理该广播

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值