Android服務是Android應用程序的一類可以異步運行的組件
要創建自己的服務類,需要派生Service類,并至少用自定義代碼實現onCreate()、onStart()、onDestory()這幾個方法。此外還必須在
AndroidManifest.XML文件中用<service>標簽表明你的服務
<service android:enabled="true" android:name=".MediaPlayerService" />
"android:enbaled"標識這個服務是否可以用。如果將這個屬性設置為false,那么對于Android應用程序來說,這個服務依然被聲明了,并可以稍后用過Java代碼來啟用它
"android:name"表示要編寫的這個服務類的名稱
package intent.filters;import android.app.service; import android.content.Intent; import android.os.IBinder; import android.media.MediaPlayer;public class MediaPlayerService extends Service{MediaPlayer myMediaPlayer;@Overridepublic IBinder onBind(Intent intent){return null;}@Overridepublic void onCreate(){myMediaPlayer=MediaPlayer.create(this.R.raw.mindtaffy);//R.raw.mindtaffy表示/res/raw/目錄下的mindtaffy文件myMediaPlayer.setLooping(true);}@Overridepublic void onStart(){myMediaPlayer.start();}@Overridepublic void onDestroy(){myMediaPlayer.stop();} }
?
將按鈕鏈接到服務
Button startButton=(Button)findViewById(R.id.startButton); startButton.setOnClickListener(new View.OnClickListener(){public void onClick(View view){startService(new Intent(getBaseContent(),MediaPlayerService.class));} });Button stopButton=(Button)findViewById(R.id.stopButton); stopButton.setOnClickListener(new View.OnClickListener(){public void onClick(View view){stopService(new Intent(getBaseContent(),MediaPlayerService.class));} });
?