基本信息
源码名称:android service 绑定监听音乐播放 示例源码
源码大小:33.85M
文件格式:.rar
开发语言:Java
更新时间:2017-11-09
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
package com.cuit.teacher.servicedemo;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class PlayBindMusic extends Activity implements OnClickListener {
private static final String TAG = "PlayBindMusic";
private Button playBtn,stopBtn,pauseBtn,exitBtn;
private BindMusicService musicService;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.play_bind_music);
setTitle("Bind Music Service");
findView();
bindButton();
connection();
}
private void findView() {//获取UI控件
playBtn = (Button) findViewById(R.id.play);
stopBtn = (Button) findViewById(R.id.stop);
pauseBtn = (Button) findViewById(R.id.pause);
exitBtn = (Button) findViewById(R.id.exit);
}
private void bindButton() {//为UI控件绑定事件监听器
playBtn.setOnClickListener(this);
stopBtn.setOnClickListener(this);
pauseBtn.setOnClickListener(this);
exitBtn.setOnClickListener(this);
}
private void connection(){
Log.d(TAG, "connecting...");
Intent intent = new Intent("com.android.ServiceDemo.bindService");
bindService(intent, sc, Context.BIND_AUTO_CREATE);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.play:
Log.d(TAG, "onClick: binding srvice");
musicService.play();//使用BindMusicService提供的play接口开始播放
break;
case R.id.stop:
Log.d(TAG, "onClick: stoping srvice");
if(musicService != null){
musicService.stop();//使用BindMusicService提供的stop接口停止播放
}
break;
case R.id.pause:
Log.d(TAG, "onClick: pausing srvice");
if(musicService != null){
musicService.pause();//使用BindMusicService提供的pause接口暂停播放
}
break;
case R.id.exit:
Log.d(TAG, "onClick: exit");
this.finish();//由于是通过bind的方式使用service,因此在该Activity调用finish时,相关联的Service也会自动被销毁,不需要再使用代码来执行销毁Service的动作
break;
}
}
private ServiceConnection sc = new ServiceConnection() {//用于监视服务连接状态的对象
public void onServiceDisconnected(ComponentName name) {//失去连接的回调方法
musicService = null;
Log.d(TAG, "in onServiceDisconnected");
}
public void onServiceConnected(ComponentName name, IBinder service) {//建立连接的回调方法
musicService = ((BindMusicService.MyBinder)(service)).getService();
Log.d(TAG, "in onServiceConnected");
}
};
}