Java Reference
In-Depth Information
+ i);
try
{
Thread.sleep(2000);
}
catch(InterruptedException e)
{
}
}
}
}
Wie schon beschrieben muss die Methode bind der Klasse MyUnboundService überschrie-
ben werden. Die Methoden onCreate und onDestroy erzeugen lediglich eine Log-Ausgabe.
Die Methode onStartCommand erzeugt einen Thread, der im Abstand von 2 Sekunden zehn
Mal etwas in den Log ausgibt.
Damit der Dienst genutzt werden kann, muss er in AndroidManifest.xml vereinbart werden:
<service android:name=".MyUnboundService" ></service>
Auch hier wäre es wieder möglich anzugeben, dass der Service in einem eigenen Prozess
läu . Auch könnten Intent-Filter angegeben werden, falls der Dienst über einen impliziten
Intent gestartet werden soll.
In unserer Anwendung gibt es zusätzlich eine einfache Activity (s. Listing 16.7) mit zwei
Buttons zum Starten und Anhalten des Dienstes. In der XML-Layout-Datei main.xml ist
festgelegt, dass beim Drücken der Buttons die Methode clickedOnStart bzw. clickedOnStop
aufgerufen werden soll.
Listing 16.7 Activity-Klasse zum Ausprobieren des ungebundenen Service
package javacomp.android.unboundservice;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class ActivityForUnboundService extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void clickedOnStart(View v)
{
startService(new Intent(this, MyUnboundService.class));
}
public void clickedOnStop(View v)
{
stopService(new Intent(this, MyUnboundService.class));
}
}
 
Search WWH ::




Custom Search