我可以从服务中使用isFinishing()吗?

时间:2011-08-01 15:35:47

标签: android

我想知道我的应用是合法关闭还是崩溃。当我的应用程序启动时,它会设置一个警报,当触发时启动服务。我无法解决如何从服务中编码isFinishing()的问题。我试过了: -

if (!((Activity) getBaseContext()).isFinishing())

这个编译好了,但是当运行时出现以下错误: -

java.lang.ClassCastException: android.app.ContextImpl

有没有办法从服务中拨打电话? 罗恩

2 个答案:

答案 0 :(得分:0)

您的问题来自错误的投射:getBaseContext()除了ContextImpl之外根本不会返回任何活动。

但是,我不确定这会解决你的问题。请参阅上面的评论。

此致  斯特凡

答案 1 :(得分:0)

isFinishing()适用于Activity而不是Service。最有可能的是,它写在你的活动的onPause()方法中,以找出活动正在完成或(暂停或停止)。

现在,如果您将活动上下文传递给服务,它将起作用。但是如果你的上下文不是活动上下文,那么就是例外。