标签:
开启服务有两种方式: 如果不会可以看老师的百度音乐盒的案例
- 接口:
package com.itheima.baidumusic;public interface Iservice {public void callPlay();public void callPause();public void callResume();}
- 服务:
package com.itheima.baidumusic;import android.app.Service;import android.content.Intent;import android.os.Binder;import android.os.IBinder;public class MusicService extends Service {@Overridepublic IBinder onBind(Intent intent) {return new Mybinder();}/*** 播放的方法*/public void play(){System.out.println("音乐播放了");}/*** 暂停的方法*/public void pause(){System.out.println("音乐暂停了");}/*** 继续播放的方法*/public void resume(){System.out.println("音乐继续播放");}/*** 定义中间人对象 在 onBind方法中返回* @author Administrator**/private class Mybinder extends Binder implements Iservice{@Overridepublic void callPlay() {play();}@Overridepublic void callPause() {pause();}@Overridepublic void callResume() {resume();}}}
- 入口:
package com.itheima.baidumusic;import android.os.Bundle;import android.os.IBinder;import android.app.Activity;import android.content.ComponentName;import android.content.Intent;import android.content.ServiceConnection;import android.view.Menu;import android.view.View;public class MainActivity extends Activity {//我的中间人对象private Iservice iservice;private MyConn conn;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 1 我要保证 music服务在后台长期运行 我需要调用 startservice 方法Intent intent = new Intent(this,MusicService.class);startService(intent);// 2 我需要调用服务里面的方法 我采用 bindServiceconn = new MyConn();bindService(intent, conn, BIND_AUTO_CREATE);// 3 要做解绑操作 要记得擦屁股}/*** 播放音乐*/public void play(View v){iservice.callPlay();}/*** 暂停播放*/public void pause(View v){iservice.callPause();}/*** 继续播放*/public void resume(View v){iservice.callResume();}/*** 定义绑定服务的接口* @author Administrator**/private class MyConn implements ServiceConnection{// 当服务被成功绑定的时候调用@Overridepublic void onServiceConnected(ComponentName name, IBinder service) {iservice = (Iservice) service;}@Overridepublic void onServiceDisconnected(ComponentName name) {}}// 当activity 销毁的时候调用@Overrideprotected void onDestroy() {//解绑服务unbindService(conn);super.onDestroy();}}
- 清单:
<service android:name="com.itheima.baidumusic.MusicService"></service>
标签:
原文地址:http://www.cnblogs.com/candledragle/p/4218386.html