基本信息
源码名称:android service 绑定监听音乐播放 示例源码
源码大小:33.85M
文件格式:.rar
开发语言:Java
更新时间:2017-11-09
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 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"); } }; }