isFinishing()处理 Unable to add window
作者:陆金龙
发表时间:2018-07-10 23:25
先调用activity的isFinishing方法判断一下
以下代码的场景:蓝牙连接或断开时调用,但是Activity退出时,断开蓝牙也会回调,这是执行window.clearFlags会异常。
解决办法是先判断isFinishing,false的情况再执行。
override fun onBleConnectChanged(isConnected: Boolean)
{
if (!isFinishing)
{
if (isConnected)
{
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
}
else
{
window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
}
setConnectButton(isConnected)
}
}