oetzi
Fortgeschrittenes Mitglied
- 11
Hallo zusammen,
ich arbeite mich gerade in die Anroid Programmierung ein und hänge gerade an Services. Leider bietet das Android Buch recht wenig Informationen über die genauen Abläufe, wer was wann wo aufruft. Darum durchblicke ich das ganze Service Konstrukt noch nicht wirklich, was natürlich die Fehlersuche start erschwert.
Folgender Code scheint im Moment die Problemstelle zu sein. Das bindService() funktioniert wohl nicht. Es liefert immer false zurück.
Das hier ist meine ServiceConnection. Die onServiceConnected() Methode wird nie aufgerufen.
Wann sollte diese Methode genau aufgerufen werden? Irgendwie automatisch von der onBind Methode oder?
Hat jemand eine Idee, woran es liegen kann?
Schönen Gruß,
oetzi
ich arbeite mich gerade in die Anroid Programmierung ein und hänge gerade an Services. Leider bietet das Android Buch recht wenig Informationen über die genauen Abläufe, wer was wann wo aufruft. Darum durchblicke ich das ganze Service Konstrukt noch nicht wirklich, was natürlich die Fehlersuche start erschwert.
Folgender Code scheint im Moment die Problemstelle zu sein. Das bindService() funktioniert wohl nicht. Es liefert immer false zurück.
Code:
@Override
protected void onResume(){
Log.d("DEBUG OUT", "ShowShoppingLists -> onResume");
final Intent netzwerkIntent = new Intent(this, NetzwerkServiceImpl.class);
boolean isConnected = bindService(netzwerkIntent, netzwerkServiceConnection, Context.BIND_AUTO_CREATE);
//hier wird false ausgegeben
Log.d("DEBUG OUT", "ShowShoppingLists -> onResume -> isConnected: "+ isConnected);
super.onResume();
}
Wann sollte diese Methode genau aufgerufen werden? Irgendwie automatisch von der onBind Methode oder?
Code:
private NetzwerkServiceImpl.NetzwerkBinderImpl netzwerkBinder;
private ServiceConnection netzwerkServiceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
//DIESE DEBUG ZEILE ERSCHEINT NICHT
Log.d("DEBUG OUT", "ShowShoppingLists -> onServiceConnected");
netzwerkBinder = (NetzwerkServiceImpl.NetzwerkBinderImpl)service;
netzwerkBinder.tuIrgendwas(new Product(1, "Brot"));
}
@Override
public void onServiceDisconnected(ComponentName name) {
Log.d("DEBUG OUT", "ShowShoppingLists -> onServiceDisconnected");
}
};
Schönen Gruß,
oetzi