从BroadcastReceiver绑定到服务无法正常工作

时间:2013-09-02 23:34:49

标签: android service android-fragments broadcastreceiver

我正在尝试从Service开始创建一个名为 MyService BroadcastReceiver。我的BroadcastReceiverFragment的内部类。所以我的代码看起来像这样:

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
        }
    };

}

我可以看到调用进入onReceive()中的ServiceListener方法,但在完成越过行开始并绑定service后,我从未在onBind()上遇到断点{1}}内的{1}}方法,或MyService内的方法。

有没有人知道可能出现什么问题?

聚苯乙烯。作为旁注,onServiceConnected()来自Broadcast,其中包含FragmentActivityTabHost是创建TabHost s的原因,即。的 MyFragment 即可。如果有一种更简单的方法可以从Fragment调用Fragment来触发FragmentActivity启动和绑定,我很满意!

谢谢!

修改

我的Service中没有定义service ...现在一切正常! Manifest.xml

0 个答案:

没有答案