在用户登录后的片段中,调用onActivityResult回调。我已经登录了onActivityResult,它实际上被调用了,但服务没有启动...服务在Manifest中注册,它在我的onResume上执行得很好。 getActivity也不返回NULL。我不知道问题是什么......任何人都可以给出一些建议。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case REQUEST_1:
if (resultCode == Activity.RESULT_OK) {
Intent intent = new Intent(getActivity(), MyService.class);
intent.setData(Uri.parse("http://www.google.com");
getActivity().startService(intent);
}
break;
default:
super.onActivityResult(requestCode, resultCode, data);
break;
}
}
答案 0 :(得分:1)
我有类似的问题。
正如@Justin在回复中指出的那样,问题可能是在清单文件中正确注册服务。
如果你没有注册app会崩溃。除非您使用的是 IntentService ,默认情况下这是另一个线程,因此它不会使您的应用程序崩溃,但服务本身也会崩溃..这只是我们无法注意到它,导致主要活动UI将留下..
最后,我在清单中输入错误声明我的IntentService类..
希望有人会觉得这很有用。
答案 1 :(得分:0)
很可能您的服务清单中没有注册正确的标签。
要验证这一点,请查看从ComponentName
返回的startService
对象。如果为null,则没有服务与您的意图匹配。
答案 2 :(得分:-1)
我认为你没有在android清单中声明你的活动名称 声明活动名称在android manifest.xml文件中写下代码,如下所示
<activity
android:name=".YourActivityName">
</activity>