からService
呼び出されて作成した を開始しようとしています。Myは a の内部クラスです。したがって、私のコードは次のようになります。MyService
BroadcastReceiver
BroadcastReceiver
Fragment
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()
MyService
onServiceConnected()
誰が何が間違っている可能性があるかについての考えを持っていますか?
Ps。補足として、はを保持するBroadcast
から来ています。はsを作成するものです。マイフラグメント. をからに呼び出してをトリガーし、バインドを開始する簡単な方法があれば、私はすべて耳にします。FragmentActivity
TabHost
TabHost
Fragment
Fragment
FragmentActivity
Service
ありがとう!
編集:
service
私は私の定義を持っていませんでしたManifest.xml
...それはすべて今働いています! </silly>