问题
在过往HMI开发中,遇到一些问题可以通过配置finishOnCloseSystemDialogs来解决: 1、singleTask的画面在后台时,按Home键后,竟然走了onStart–onResume–onPause–onStop的生命周期 2、画面显示中,按Home,在返回该画面,会闪烁一下之前的内容
通过在AndroidManifest的Activity中配置如下内容可以解决
android:finishOnCloseSystemDialogs="true"
原理
为什么会有这样的效果呢,因为按Home键时,系统会发出Intent.ACTION_CLOSE_SYSTEM_DIALOGS广播,用来关闭系统Dialog。 Activity配置了如上内容后,就走destroy流程了。
另外如果想监听Home键,也可以通过ACTION_CLOSE_SYSTEM_DIALOGS广播哦
BroadcastReceiver broadcastReceiver = 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 ("homekey".equals(reason)) {
}
}
}
};
参考文章: https://blog.csdn.net/ekeuy/article/details/39400939 https://www.cnblogs.com/cj5785/p/9893156.html
|