Android 服务

无情 阅读:835 2020-04-07 15:09:03 评论: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)); 
    } 
});

 

标签:Android
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号