尽管应用程序正在被销毁,但isFinishing()仍为false

时间:2015-12-09 10:11:15

标签: java android android-activity

根据API

  

public boolean isFinishing ()

     

在API级别1中添加检查此活动是否在   完成的过程,要么因为你在上面调用了finish()或者   别人要求完成。 这经常用于   onPause()确定活动是否只是暂停或   完全完成

但isFinishing()不能作为例外工作。这是我从我的应用中获得的输出:

  

D / com.example.operator.app.MainActivity:onPause()[13513] isFinishing   false D / com.example.infra.providers.operator.ExampleProvider:pause()   D / com.example.infra.messaging.MessageHandler:stop()   D / com.example.infra.messaging.MessageHandler $ 1:onDisconnectEvent()   D / com.example.operator.app.MainActivity:onSaveInstanceState()   D / com.example.operator.app.MainActivity:onStop()[13513] isFinishing   false D / com.example.operator.app.screens.MainStackView:   onDestroyView()D / com.example.operator.app.MainActivity: onDestory()

所以虽然应用程序被销毁,但isFinishing()返回FALSE。这是错误的,并不反映API所说的内容。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果在onDestroy方法中调用它,则将isFinishing调用为早期,它将返回true。