バインディングサービスについて質問があります。私は親アクティビティーといくつかのフラグメントを持っています。私はアクティビティーを持つサービスをバインドおよびバインド解除しています。今ではそのサービスにフラグメントでアクセスできますか?私は、フラグメントでServiceConnectionを使用する必要があります。フラグメント付きアクティビティを持つバインドされたサービス
答えて
はい、あなたはこのようなもので、あなたのフラグメント内の親アクティビティのサービスにアクセスすることができます:あなたの活動の
getActivity().getMyService()
私はconnectionService = new Intent(getApplicationContext()、XMPPService.class)を追加しました。 私のアクティビティで.... getMyService()とは何ですか? – Richa
@Richa getMyService()は、あなたがローカルで作成したサービスへの参照になります。ここで詳細を見つけることができます[link ](http://developer.android.com/reference/android/app/Service.html#LocalServiceSample)。これがあなたの質問を明確にすることを願っています。 – Anurag
=========== ========あなたのフラグメント=============
で=========callbackFragmentServiceConnection callbackfragment;
public interface callbackFragmentServiceConnection{
public void servicefun(MusicPlayService musicPlayService);
}
public void registerClientFragment(Fragment fragment){
this.callbackfragment = (callbackFragmentServiceConnection)fragment;
}
/** Defines callbacks for service binding, passed to bindService() */
private ServiceConnection mConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className,
IBinder service) {
mBound = true;
callbackfragment.servicefun(musicPlayService);
}
@Override
public void onServiceDisconnected(ComponentName arg0) {
mBound = false;
}
};
=================
public class FragmentLibraryTrack extends Fragment implements
MainActivity.callbackFragmentServiceConnection {
MainActivity mainActivity;
@Override
public void onAttach(Context context) {
super.onAttach(context);
mainActivity= (MainActivity) context;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mainActivity.registerClientFragment(this);
}
@Override
public void servicefun(MusicPlayService musicPlayService) {
Log.e("reached sucessfully","yes");
}
}
これは私がすでに行ったことです。しかし、私たちはServiceConnection上でのみアクティビティとacessにコードを保持しません。バインディングとバインドはすべてのフラグメントで良いのではないので、 – Richa
私は私の答えを編集して、それは動作します.. –
- 1. フラグメントとタブ付きのアクティビティ
- 2. WebViewのタブ付きアクティビティ(フラグメント)
- 3. アクティビティのバインドされたサービスを破棄しない
- 4. RecyclerViewを持つAndroidネストされたフラグメント
- 5. 複数のフラグメントを持つアクティビティのMVP
- 6. フラグメントにアクティビティに添付されていないフラグメントのIllegalStateException
- 7. バインドされたコレクションを持つWindow.InputBindings
- 8. バインドされたデータを持つPDO queryString
- 9. タブ付きアクティビティのフラグメント内のSetonitemclicklistener
- 10. 異なるフラグメントを別のフラグメントに渡すアクティビティのタブ付き
- 11. タブ付きアクティビティのフラグメントからデータをフラグメントに送信
- 12. バインドされたサービスのアクティビティライフサイクル
- 13. バインドされたサービスとタイムアウト
- 14. アクティビティへのSyncAdapterサービスのバインド
- 15. ボタン付きのタブ付きアクティビティでフラグメントを変更する
- 16. java.lang.IllegalStateException:(アクティビティが破棄された)フラグメント内
- 17. フラグメント化されたアクティビティのArraylist
- 18. トークバックは、私がアクティビティ内の動的ロードされたフラグメントを持つ動的なロードされた断片
- 19. onClickを使用したアクティビティナビゲーションへのタブ付きアクティビティ(フラグメント)
- 20. ブランチとバインドされたメソッドを持つ変更されたナップザック
- 21. アクティビティからのサービスへのアンドロイドのバインドされたハッシュマップを取得する
- 22. アクティビティにはフラグメントが添付されていません。
- 23. java.lang.IllegalStateExceptionアクティビティにフラグメントが添付されていません
- 24. AlertDialogのアクティビティにフラグメントが添付されていません
- 25. アクティビティにフラグメントが添付されていません
- 26. windowMangerサービスでフラグメントまたはアクティビティを使用する方法
- 27. 2つのフラグメントと1つのコンテナアクティビティのボタンを持つタブ付きアクティビティ次にフラグメントの両方からデータを取得する方法
- 28. 2つのフラグメント、タブ付きアクティビティ、ビューページャーでイメージのGridViewを挿入する
- 29. バインドされたサービスのonStartCommand()メソッド
- 30. バインドされたサービスとスレッドの違い
可能な複製http://stackoverflow.com/questions/14124632/how-do-i-bind-a -service-from-a-fragment –
ホストへのサービスのバインドアクティビティとフラグメントは、コールバックの助けを借りてアクティビティと考えられるサービスで動作するはずです。 –