Android监听Home键和最近任务
16lz
2021-12-04
IntentFilter home_filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { String reason = intent.getStringExtra("reason"); if (reason != null) { if (reason.equals("homekey")) { Log.i(TAG,"homekey"); }else if(reason.equals("recentapps")){ Log.i(TAG,"recentapps"); } } } }},home_filter);
其实这个方法也并不是官方API提供的,而是其他热心网友发现的。否则你很难想到关闭系统对话框会和Home键发生关系。然而看到framework代码后,发现每次按Home键或者触发最近任务就会发送Intent.ACTION_CLOSE_SYSTEM_DIALOGS。 另外关机还有关闭对话框也会发送该广播。所以要获得reason字段才能知道,是何原因发送的广播。就
intent.getStringExtra("reason");官方也没解释。所以此方法也是一个讨巧的方法。一旦framework有改动,此方法不一定会再有效
更多相关文章
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用
- python list.sort()根据多个关键字排序的方法实现
- Android学习笔记(10)————Android的Listview详解1(ArrayAdapte
- android Gide加载webp图片方法
- Android(安卓)5中样式对话框
- Android(安卓)原生SQLite数据库操作实战
- Android(安卓)简易对话框
- android发送json并解析返回json