1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. Kirodema, 10.11.2010 #1
    Kirodema

    Kirodema Threadstarter Neuer Benutzer

    Hi,

    ich mach grad ein Tutorial durch für nen Musikplayer (MusicDroid - Audio Player Part II | Hello Android).

    Da dieses Tutorial schon etwas älter ist, stimmen einige Methodenaufrufe mit den heutigen nichtmehr überein, und ich hab die halt meines Verständnis nach angepasst.

    Meine Service Klasse schaut der aus dem Tutorial ähnlich bis auf die Notifys, aber die sollten ja nix damit zu tun haben? Einzige was dort nicht funktioniert hat, war die getBinder mit @Override zu deklarieren, aber da hab ich es dann einfach weglassen (das @Override).

    In meiner Hauptklasse steht dann in der onCreate-Methode folgendes:
    Meine mConnction:
    Code:
    private ServiceConnection mConnection = new ServiceConnection() {
    		
    	@Override
    	public void onServiceDisconnected(ComponentName arg0) {
    		mpInterface = null;
    	}
    	
    	@Override
    	public void onServiceConnected(ComponentName arg0, IBinder service) {
    		//Toast.makeText(BackEnd.this, "Service is binding", Toast.LENGTH_SHORT).show();
    		mpInterface = IBEInterface.Stub.asInterface((IBinder) service);
    		try {
    			mpInterface.clearPlaylist();
    		} catch (RemoteException e) {}
    			
    		updateSongList(new File(MEDIA_PATH));
    	}
    };
    bindService in onCreate():
    Code:
    this.bindService(new Intent(this, IBEService.class), mConnection, Context.BIND_AUTO_CREATE);
    In meiner Manifest unter <application>
    Code:
    <service class=".IBEService" android:process=":remote" android:name="IBEService"></service>
    Hat vielleicht irgendwer einen Plan, was ich falsch mache?
     
  2. Kirodema, 10.11.2010 #2
    Kirodema

    Kirodema Threadstarter Neuer Benutzer

    Nachdem ich mich mal kurz mit Debuggen unter Android beschäftigt habe, bin ich auf logcat gestoßen. Hier ist ein meiner Meinung nach auffälliger Auszug:
    Code:
    E/ActivityThread(21698): Activity com.kirodema.icyBeatsBE.BackEnd has leaked ServiceConnection com.kirodema.icyBeatsBE.BackEnd$1@4625de10 that was originally bound here
    E/ActivityThread(21698): android.app.ServiceConnectionLeaked: Activity com.kirodema.icyBeatsBE.BackEnd has leaked ServiceConnection com.kirodema.icyBeatsBE.BackEnd$1@4625de10 that was originally bound here
    E/ActivityThread(21698): 	at android.app.ActivityThread$PackageInfo$ServiceDispatcher.<init>(ActivityThread.java:1154)
    E/ActivityThread(21698): 	at android.app.ActivityThread$PackageInfo.getServiceDispatcher(ActivityThread.java:1049)
    E/ActivityThread(21698): 	at android.app.ContextImpl.bindService(ContextImpl.java:871)
    E/ActivityThread(21698): 	at android.content.ContextWrapper.bindService(ContextWrapper.java:347)
    E/ActivityThread(21698): 	at com.kirodema.icyBeatsBE.BackEnd.onCreate(BackEnd.java:65)
    E/ActivityThread(21698): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
    E/ActivityThread(21698): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751)
    E/ActivityThread(21698): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
    E/ActivityThread(21698): 	at android.app.ActivityThread.access$2300(ActivityThread.java:135)
    E/ActivityThread(21698): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
    E/ActivityThread(21698): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    E/ActivityThread(21698): 	at android.os.Looper.loop(Looper.java:144)
    E/ActivityThread(21698): 	at android.app.ActivityThread.main(ActivityThread.java:4937)
    E/ActivityThread(21698): 	at java.lang.reflect.Method.invokeNative(Native Method)
    E/ActivityThread(21698): 	at java.lang.reflect.Method.invoke(Method.java:521)
    E/ActivityThread(21698): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    E/ActivityThread(21698): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    E/ActivityThread(21698): 	at dalvik.system.NativeStart.main(Native Method)
    W/ActivityManager(   96): Unbind failed: could not find connection for android.os.BinderProxy@468ca740
    
    Allerdings bin ich noch nicht ganz so fit in Sachen Androidentwicklung und fang daher nicht viel damit an. Zeile 65 in meinem BackEnd.java ist die oben beschriebene Zeile mit this.bindService(...).
    Habe allerdings noch ein startService hinzugefügt, da in der Android-SDK-API steht, dass man das ausführen muss file:///opt/android-sdk/docs/reference/android/content/Context.html#BIND_AUTO_CREATE.bindService und startService verwenden den selben Intent

    Edit: Diese Logmeldungen kommen nur beim schließen des Programms
     
    Zuletzt bearbeitet: 10.11.2010
  3. Unicate, 11.11.2010 #3
    Unicate

    Unicate Android-Experte

    Dein Schnipselchen Code reicht mir noch nicht um darüber eine Aussage zu treffen.


    startService startet den Service und bindet den meines Wissens auch.Wenn du die app beendest wird der service weiter laufen.

    wenn den den service mit BIND_AUTO_CREATE startest, wird der service beendet, wenn der Service mit keiner activity mehr verbunden ist.
     
  4. Kirodema, 12.11.2010 #4
    Kirodema

    Kirodema Threadstarter Neuer Benutzer

    Ok, Ich ich hab die Sourcefiles mal bei pastebin hochgeladen:

    Java | package com.kirodema.icyBeatsB - BackEnd.java - CkaNLJU4 - Pastebin.com Hier ist die List-Activity

    Java | package com.kirodema.icyBeatsB - IBEService.java - x7aWFZZP - Pastebin.com Meine Service-Klasse

    XML | <?xml version="1.0" encoding=" - AndroidManifest.xml - ZbKD8yTC - Pastebin.com Das Manifest

    Die .aidl Datei schaut genauso aus wie die aus dem Tutorial

    Danke vorerst mit dem Tipp mit dem startService(). Da das nur ein Testprojekt ist, für ein größeres Schulprojekt ist, wo dann auch ein Widget dazu soll, ist es sicherlich praktisch, wenn der Service nicht beendet, wenn die Activity beendet wird.
     
  5. Kirodema, 16.11.2010 #5
    Kirodema

    Kirodema Threadstarter Neuer Benutzer

    Bitte helft mir. Würde das bis morgen nämlich brauchen.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
App startet nicht - Wie, die Ursache finden? Android App Entwicklung Dienstag um 16:56 Uhr
Detektieren ob der Anwendungseigene Service läuft Android App Entwicklung 23.05.2018
App wird nach start sofort beendet! Android App Entwicklung 21.05.2018
Service stoppt wenn App geschlossen wird Android App Entwicklung 16.05.2018
[OFFEN] Android 8 Service im Hintergund Android App Entwicklung 06.12.2017

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. android looper startet in service nicht?

    ,
  2. MusicDroid - Audio Player Part II | Hello Android

Du betrachtest das Thema "Service startet nicht" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.