バインディングサービスについて質問があります。私は親アクティビティーといくつかのフラグメントを持っています。私はアクティビティーを持つサービスをバインドおよびバインド解除しています。今ではそのサービスにフラグメントでアクセスできますか?私は、フラグメントで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. RecyclerViewを持つAndroidネストされたフラグメント
- 3. 複数のフラグメントを持つアクティビティのMVP
- 4. フラグメントにアクティビティに添付されていないフラグメントのIllegalStateException
- 5. バインドされたコレクションを持つWindow.InputBindings
- 6. バインドされたデータを持つPDO queryString
- 7. タブ付きアクティビティのフラグメントからデータをフラグメントに送信
- 8. ボタン付きのタブ付きアクティビティでフラグメントを変更する
- 9. トークバックは、私がアクティビティ内の動的ロードされたフラグメントを持つ動的なロードされた断片
- 10. フラグメント化されたアクティビティのArraylist
- 11. バインドされたサービスとタイムアウト
- 12. バインドされたサービスのアクティビティライフサイクル
- 13. アクティビティへのSyncAdapterサービスのバインド
- 14. onClickを使用したアクティビティナビゲーションへのタブ付きアクティビティ(フラグメント)
- 15. アクティビティからのサービスへのアンドロイドのバインドされたハッシュマップを取得する
- 16. AlertDialogのアクティビティにフラグメントが添付されていません
- 17. アクティビティにはフラグメントが添付されていません。
- 18. java.lang.IllegalStateExceptionアクティビティにフラグメントが添付されていません
- 19. アクティビティにフラグメントが添付されていません
- 20. windowMangerサービスでフラグメントまたはアクティビティを使用する方法
- 21. バインドされたサービスとスレッドの実行
- 22. バインドされたサービスのonStartCommand()メソッド
- 23. フラグメントまたはアクティビティの代わりにアダプタでサービスをバインド解除する方法
- 24. XMLを介してロードされたフラグメント内のフラグメントからアクティビティにアクセス
- 25. タブ付きアクティビティのフラグメント内のTextViewのテキストを更新する
- 26. Android:tablayout/viewpagerフラグメントまたはアクティビティ内のフラグメント
- 27. データネストされたクラスを持つオブジェクトにDataGridをバインド
- 28. バインドされたデータソースを持つ空のDatagridviewセル
- 29. フラグメントからバックボタン付きフラグメント
- 30. タブ付きアクティビティの最初のフラグメントは常に空白です
可能な複製http://stackoverflow.com/questions/14124632/how-do-i-bind-a -service-from-a-fragment –
ホストへのサービスのバインドアクティビティとフラグメントは、コールバックの助けを借りてアクティビティと考えられるサービスで動作するはずです。 –