我之前通过MainActivity
从startActivityForResult
开始语音识别服务,并将onActivityResult
也放在主要内容中。我还通过MainActivity
中的finishActivity停止服务。所有工作都是O.K。
现在,我将服务的有效内容传递给Fragment
以及onActivityResult
中的Fragment
。它到那里重播。但是,当我将finishActivity放在Fragment
中时,它会将其标记为红色,并且无法识别它。
看起来它需要活动,所以我在getActivity.finishActivity(THE REQUEST CODE)
之前添加并运行。但看起来它不再关闭服务了。
哪里可能是问题?
酒吧。
答案 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
开始活动,而不是从片段开始。