Service: onBind liefert false zurück

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von oetzi, 04.09.2011.

  1. oetzi, 04.09.2011 #1
    oetzi

    oetzi Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    148
    Erhaltene Danke:
    8
    Registriert seit:
    25.02.2011
    Phone:
    Samsung Galaxy S5+
    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
     
  2. oetzi, 06.09.2011 #2
    oetzi

    oetzi Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    148
    Erhaltene Danke:
    8
    Registriert seit:
    25.02.2011
    Phone:
    Samsung Galaxy S5+
    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.
     

Diese Seite empfehlen