1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Unicate, 24.02.2012 #1
    Unicate

    Unicate Threadstarter Android-Experte

    Hallo alle zusammen!

    Ich habe eine Activity, die sich bei Start mit einem Remote Service verbindet.
    Das passiert in meinem sogenannten BackgroundManager. Dieser hat eine public Method, welche ich connect() nannte.
    connect soll prüfen ob der Service bereits läuft (über die statische Variable _isRunning). Wenn nicht, soll der Service erstellt werden und dann erneut verbunden werden.

    PHP:
    public void connect() {        
        if(
    _isRunning) {
            if(
    null == _service)
                
    _context.bindService(_remoteIntent_connectionContext.BIND_AUTO_CREATE);
        } else {
            
    startService();
            
    connect();
        }
    }
    private 
    void startService() {        
        
    _context.startService(_remoteIntent);
        
    _isRunning true;
    }
    Ich rufe die Methode connect im "onResume" der Activity auf und er verbindet sich wie gewollt. (Die implementierte Methode des Interfaces ServiceConnection "onServiceConnected" wird erfolgreich aufgerufen)
    Das funktioniert auch soweit.

    Mein Problem ist mit der Methode disconnect
    PHP:
    public void disconnect() {
        
    _context.unbindService(_connection);
    }
    Die Methode "disconnect" rufe ich in der Methode "onPause" der Activity auf. Leider wird hier nie die Methode "onServiceDisconnected" des ServiceConnection-Interfaces aufgerufen.

    Was mach ich falsch?

    [Edit:]

    Hier mal die ServiceConnection:
    PHP:
    private ServiceConnection _connection = new ServiceConnection() {        
        @
    Override
        
    public void onServiceDisconnected(ComponentName arg0) {
            
    Log.d(TAG"Service disconnected!");            
            try {
                
    _service.unregisterCallback();
            } catch (
    Exception e) {
                
    e.printStackTrace();
            }
            
    _service null;
        }
        
        @
    Override
        
    public void onServiceConnected(ComponentName classNameIBinder service) {
            
    _service BackgroundServiceConnector.Stub.asInterface(service);
            
    Log.d(TAG"Service connected!");
            try {
                
    _service.registerCallback(_callback);                
            } catch (
    Exception e) {
                
    e.printStackTrace();
            }
        }
    };
    "Service disconnected" wird nie ausgegeben...
     
    Zuletzt bearbeitet: 24.02.2012
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Verbindung zu MS SQL DB von App aus möglich? Android App Entwicklung 05.09.2017
[ERLEDIGT] Bitmap von Activity an Activity übergben Android App Entwicklung 03.09.2017
[OFFEN] Activity als Dialog - RecyclerView funktioniert nicht mehr Android App Entwicklung 14.08.2017
[ERLEDIGT] Probleme mit Service unter Android N Android App Entwicklung 16.07.2017
[ERLEDIGT] Hilfe bei Fehler in Quellcode benötigt Android App Entwicklung 23.06.2017
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[GELÖST] Nach AS Update Fehler Error running app: Default Activity not found Android App Entwicklung 16.05.2017
[GELÖST] Übergabe an zweite Activity Android App Entwicklung 11.05.2017
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
[OFFEN] Service wird bei manchen Geräten nicht gestartet Android App Entwicklung 09.04.2017
Du betrachtest das Thema "Verbindung Activity -> Service abbrechen" im Forum "Android App Entwicklung",