finishActivity在Fragment中无法识别

时间:2015-09-30 05:40:47

标签: android fragment activity-finish

我之前通过MainActivitystartActivityForResult开始语音识别服务,并将onActivityResult也放在主要内容中。我还通过MainActivity中的finishActivity停止服务。所有工作都是O.K。

现在,我将服务的有效内容传递给Fragment以及onActivityResult中的Fragment。它到那里重播。但是,当我将finishActivity放在Fragment中时,它会将其标记为红色,并且无法识别它。

看起来它需要活动,所以我在getActivity.finishActivity(THE REQUEST CODE)之前添加并运行。但看起来它不再关闭服务了。 哪里可能是问题? 酒吧。

2 个答案:

答案 0 :(得分:0)

尝试在同一服务中使用this.stopSelf()

或者在你的onActivityResult内部尝试调用stopService(intent)

参考

alternative to finish() method for Service class? To kill it dead

相同的

答案 1 :(得分:0)

请参见startActivityForResult() from a Fragment and finishing child Activity, doesn't call onActivityResult() in Fragment。问题在于片段的startActivityForResult()正在重新映射您的请求代码,但是getActivity().finishActivity()没有映射回来。您需要从MainActivity开始活动,而不是从片段开始。