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; @Override public IBinder onBind(Intent intent){ return null; } @Override public void onCreate(){ myMediaPlayer=MediaPlayer.create(this.R.raw.mindtaffy);//R.raw.mindtaffy表示/res/raw/目录下的mindtaffy文件 myMediaPlayer.setLooping(true); } @Override public void onStart(){ myMediaPlayer.start(); } @Override public 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)); } });
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/6182.html