isFinishing()处理 Unable to add window

创建时间:2018/7/10 23:25:31
关键字:Unable to add window -- token android.os.BinderProxy@xxxx is not valid

先调用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)
    }
}