Ich habe eine Frage zum Bindungsdienst. Ich habe Elternaktivität und mehrere Fragmente, ich bin bindend und entbinde Dienst mit Aktivität, kann ich jetzt Zugang zu diesem Dienst in Fragment bekommen? Ich muss ServiceConnection in Fragmenten verwenden.Gebundener Dienst mit Aktivität mit Fragment
Antwort
Ja, könnten Sie Dienste Tätigkeits Eltern Zugang in Ihrem Fragmente von etwas wie folgt aus:
getActivity().getMyService()
ich habe connectionService = new Intent hinzugefügt (getApplicationContext(), XMPPService.class); bindService (connectionService, this, Context.BIND_AUTO_CREATE); in meiner Aktivität .... was ist getMyService() – Richa
@Richa getMyService() wird Ihre Referenz zu dem Dienst sein, den Sie lokal erstellt haben. Weitere Informationen finden Sie hier [link ] (http://developer.android.com/reference/android/app/Service.html#LocalServiceSample). Hoffe das wird deine Anfrage klären. – Anurag
=========== in Sie Aktivität ======== =========
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;
}
};
================= in Ihrem Fragment =============
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");
}
}
dies ist, was ich bereits getan habe. Aber wir können den code in activity nur halten und auf ServiceConnection zugreifen. Weil das Binden und Lösen in jedem Fragment keine gute Idee ist – Richa
Ich habe meine Antwort bearbeitet, es wird funktionieren .. –
- 1. Aktivität oder Fragment mit NavigationDrawer
- 2. Android: Kann Fragment innerhalb Aktivität mit einem anderen Fragment ersetzen?
- 3. Kommunikation von Aktivität zu Fragment mit ViewPager
- 4. Tabs mit dem Fragment in der Aktivität
- 5. Master Detail Flow mit Fragment oder Aktivität
- 6. Problem mit inkompatiblen Typen - Fragment/Aktivität (Java)
- 7. Öffnen Aktivität mit Fragment Manger korrekt von einer anderen Aktivität
- 8. Aktivität und Fragment Interaktion
- 9. Fragment wieder nicht mit ihrer Aktivität nach Absicht mit
- 10. Aktion Balken Fragment Aktivität
- 11. Generic Zweck Fragment Aktivität
- 12. Android - Ende Fragment Aktivität
- 13. Fragment aus Aktivität öffnen?
- 14. Aktivität Einsteigen Dienst
- 15. Fragment zu Aktivität zu Fragment Kommunikation
- 16. Fragment bei Aktivität nicht an Aktivität angefügt
- 17. Service an Aktivität oder Fragment binden?
- 18. Datenbankoperationen auf Aktivität oder Fragment?
- 19. Kamera Absicht vs Aktivität/Fragment
- 20. ein Fragment der Aufrufmethode von Mutter Aktivität
- 21. Umwandlung von Aktivität in Fragment
- 22. Fragment nicht an Aktivität angefügt
- 23. Daten zwischen Aktivität und Fragment
- 24. Aufruf Fragment Methode in Aktivität
- 25. Fragment nicht mit ihm verbunden ist Aktivität, aber es sollte
- 26. Nested-Fragment mit falscher Aktivität Referenz nach Konfigurationsänderung
- 27. mit dem gleichen Code für Fragment und Aktivität
- 28. Leere Aktivität mit Fragment nicht in android Studio
- 29. Get Fragment Instanz in Aktivität
- 30. Fragment zeigt und Aktivität Lifecycle
Mögliches Duplikat von http://stackoverflow.com/questions/14124632/how-doi-ibind-a -service-from-a-fragment –
Service an den Host binden Aktivität und Fragmente sollten mit dem Service arbeiten, dachte die Aktivität mit Hilfe von Rückrufen. –