当前位置 : 首页 » 博文聚焦 » 正文

Android 服务

分类 : 博文聚焦 | 发布时间 : 2016-07-31 14:37:00 | 浏览 : 0

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

 

相关阅读: