概述
现象:
- 机型 华为P10 华为机型可以设置底部虚拟按键(即底部导航栏,且其导航栏还存在隐藏按键)
- 两个 A_Activity 和 B_Activity,在Activity中显示导航栏,然后进入B_Activity。在B_Activity中隐藏导航栏后finish,此时会出现闪退。查看log日志,无error异常抛出。
定位问题:
- 在error级的log无法定位问题后,切换到warn,发现如下报错: 其关键 updateSurfaceStatusWindowStateAnimator
Exception thrown when updateSurfaceStatusWindowStateAnimator{62aa4ae cn.fmsyjhgb/cn.fmgbdt.activitys.broadcast.RadioListActivity}: android.os.DeadObjectException
复制代码
- 由此明白大致因为是动画引起
解决方法:
- 在AndroidManifest 的Activity设置如下属性
android:configChanges="orientation|keyboardHidden|screenSize|screenLayout"
复制代码
- 然后在Activity 中重写onConfigurationChanged() 方法:
/**
* onConfigurationChanged事件并不是只有屏幕方向改变才可以触发,其他的一些系统设置改变也可以触发,比如打开或者隐藏键盘
* @param newConfig
*/
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
PrintLogUtil.log("<<onConfigurationChanged>>");
}
复制代码
参考: blog.csdn.net/lkk79047014…
转载于:https://juejin.im/post/5cb699df6fb9a068985fb02c
最后
以上就是美满微笑为你收集整理的Android 导航栏 隐藏显示状态改变后引起的闪退问题记录的全部内容,希望文章能够帮你解决Android 导航栏 隐藏显示状态改变后引起的闪退问题记录所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复