Android退出Activity如何关闭软盘
最近在做登录页面,在输入框弹出软盘的时候,点击左上角finish掉页面,软件总是没关闭,这样的体验非常的差
通过这段代码
fun hideSoftInput(activity: Activity) { try { val im = activity .getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager im.hideSoftInputFromWindow(activity.currentFocus.windowToken, 0) } catch (e: Exception) { e.printStackTrace() } }
按正常来说,我们在结束activity的时候,就调用这个方法
比如在调用onDestroy方法的时候,就调用hideSoftInput(this).
但是,这个方法竟然不成功,后面我仔细研究了activity的生命周期
研究这个图之后,发现onDestroy()方法调用的时候,activity的上下文就已经被内存回收了
只有onPause()的时候,上下文this还在
所以,如果要退出软盘的时候,可以在onPause()的时候调用.