你知道一旦它被触发后是否可以延迟onStop方法?
我正在覆盖onStop()方法,我想在调用super.onStop()之前添加一个小延迟。
(我有一个活动,显示一个带有表面支架的视图-dialog-当我关闭活动时,视图仍然可见 - 类似于1s - 主屏幕或之前的活动已经显示)
我有多种关闭活动的方法,我不想为每种方式实现这种行为,这种方式将它放在onStop()中对我来说是一个好主意。
提前致谢。 -G。
答案 0 :(得分:0)
不,这是不可能的。
1)您不能在UI线程方法中延迟返回超过几毫秒,而不会有应用程序无响应错误。
2)你必须在返回之前调用超类方法,否则通常会产生错误。
要在UI方法后的延迟时间内发生某些事情,您可以启动计时器。但是,当您的Activity停止可见性时会调用onStop(),因此即使您设法运行某些代码,也不会在以后执行任何可见的操作。另外,请记住,在onDestroy()的路上可能会调用onStop() - 如果甚至在破坏之前调用了后者(不能保证它会被破坏)。因此,您的计时器延迟代码甚至可能无法运行。
答案 1 :(得分:-1)
这只是一个猜测而且完全没有尝试但是你不能在Thread.sleep(1000)
之前拨打super.onStop()
吗?