可以通过广播来监听Home按键,对应的Action是Intent.ACTION_CLOSE_SYSTEM_DIALOGS。
(代码使用的kotlin)
#创建HomeReceiver
class HomeReceiver : BroadcastReceiver(){
private val SYSTEM_DIALOG_REASON_KEY = "reason"
private val SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps"
private val SYSTEM_DIALOG_REASON_HOME_KEY = "homekey"
override fun onReceive(context: Context?, intent: Intent?) {
val action = intent?.action
if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){
val reason = intent?.getStringExtra(SYSTEM_DIALOG_REASON_KEY)
if (reason != null) {
if (reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) {
// home键
Toast.makeText(context, "短按Home键", Toast.LENGTH_SHORT).show()
} else if (reason.equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) {
// 多任务键
T