Service: onBind liefert false zurück

oetzi

oetzi

Fortgeschrittenes Mitglied
Threadstarter
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.

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();
    }
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?

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");
            
        }    
    };
Hat jemand eine Idee, woran es liegen kann?

Schönen Gruß,
oetzi
 
oetzi

oetzi

Fortgeschrittenes Mitglied
Threadstarter
Keiner eine Idee...?

Alternativ vielleicht einen Tipp für ein gutes(!) Tutorial zum Thema Services. Dann müsste ich es mir halt noch mal von vorne angucken.
 
Oben Unten