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));} });