Android 从BroadcastReceiver绑定到服务不工作
我正在尝试从一个广播接收器启动一个我创建的名为MyService的服务。我的BroadcastReceiver是片段的内部类。因此,我的代码如下所示:Android 从BroadcastReceiver绑定到服务不工作,android,service,android-fragments,broadcastreceiver,Android,Service,Android Fragments,Broadcastreceiver,我正在尝试从一个广播接收器启动一个我创建的名为MyService的服务。我的BroadcastReceiver是片段的内部类。因此,我的代码如下所示: public class MyFragment extends Fragment { /* * Lots of code taken out */ private class ServiceListener extends BroadcastReceiver{ private Contex
public class MyFragment extends Fragment {
/*
* Lots of code taken out
*/
private class ServiceListener extends BroadcastReceiver{
private Context parentContext = null;
public ServiceListener(Context parentContext){
this.parentContext = parentContext;
IntentFilter intentFilter = new IntentFilter("com.example.serverListener");
this.parentContext.registerReceiver(this, intentFilter);
}
@Override
public void onReceive(Context arg0, Intent arg1) {
Intent i = new Intent(arg0, MyService.class);
MyFragment.this.getActivity().startService(i);
MyFragment.this.getActivity().bindService(i, mConnection, Service.BIND_AUTO_CREATE);
}
}
/** Defines callbacks for service binding, passed to bindService() */
private ServiceConnection mConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className,
IBinder service) {
//code taken out
}
@Override
public void onServiceDisconnected(ComponentName arg0) {
//more code taken out
}
};
}
我可以看到调用进入ServiceListener中的onReceive方法,但在它完成启动和绑定服务的过程后,我从未在MyService中的onBind方法上或在onServiceConnected上遇到断点
有人知道什么地方可能出错吗
另外,作为旁注,广播来自于持有TabHost的片段活动。TabHost是创建片段的工具,即MyFragment。如果有一种更简单的方法可以从FragmentActivity调用一个片段来触发服务启动和绑定,我洗耳恭听
谢谢
编辑:
我没有在Manifest.xml中定义我的服务。。。现在一切都好了 请您提供解决方案作为正确答案,并在8小时后接受。别忘了从清单中包括相关部分。请记住,现在的标准做法是将答案作为答案而不是问题的一部分发布。