TestActivity.java
public class TestActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); Button startServiceButton=(Button)findViewById(R.id.startService); startServiceButton.setOnClickListener(new StartServiceListener()); Button stopServiceButton=(Button)findViewById(R.id.stopService); stopServiceButton.setOnClickListener(new StopServiceListener()); Button startMusicButton=(Button)findViewById(R.id.start); startMusicButton.setOnClickListener(new StartMusicListener()); Button stopMusicButton=(Button)findViewById(R.id.stop); stopMusicButton.setOnClickListener(new StopMusicListener()); } class StartServiceListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent(); intent.setClass(TestActivity.this, FirstService.class); startService(intent); }} class StopServiceListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(TestActivity.this, FirstService.class); stopService(intent); }} class StartMusicListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub startService(new Intent(TestActivity.this, FirstService.class)); //启动服务 }} class StopMusicListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub stopService(new Intent(TestActivity.this,FirstService.class)); //停止服务 } } }
FirstService.java
public class FirstService extends Service { private MediaPlayer mp; @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub System.out.println("Service onBind"); return null; } /** Called when the activity is first created. */ @Override public void onCreate() { // TODO Auto-generated method stub System.out.println("Service onCreate"); super.onCreate(); mp=MediaPlayer.create(this,Uri.parse("/sdcard/More Than I Can Say.mp3")); } @Override public void onDestroy() { // TODO Auto-generated method stub System.out.println("Service onDestroy");; super.onDestroy(); mp.stop(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { // TODO Auto-generated method stub mp.start(); System.out.println("intent="+intent); System.out.println("flags="+flags); System.out.println("startId="+startId); System.out.println("Service onStartCommand"); return START_NOT_STICKY; } }
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/startService" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/startService" /> <Button android:id="@+id/stopService" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/stopService" /> <Button android:id="@+id/start" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="开始" /> <Button android:id="@+id/stop" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="停止" /> </LinearLayout>
截图: