一、新建类继承Service
public class DemoService extends Service{
//新建内部类
public class DemoServiceBinder extends Binder{
DemoServiceBinder getService(){
return DemoService.this;
}
}
//实例化内部类
private final IBinder basBinder = new DemoServiceBinder();
//重写绑定方法,返回内部类对象
@Override
public IBinder onBind(Intent intent){
return basBinder;
}
//要调用的方法
public void DemoMethod(){
...
}
}
二、Activity类
public class DemoActivity extends Activity{
//定义按钮的点击事件
public void onClick(View v){
//开始并绑定服务
startService(serviceIntent);
bindService(serviceIntent,conn,Context.BIND_AUTO_CREATE);
//通过service调用服务里的方法
...
//解除绑定并停止服务
unbindService(serviceIntent);
stopService(serviceIntent);
}
private DemoService service;
//创建Service连接
private ServiceConnection conn = new ServiceConnection(){
public void onServiceConnected(ComponentName className,IBinder baBinder){
service = ((DemoService.DemoServiceBinder)baBinder).getService();
}
public void onServiceDisconnected(ComponentName className){
service = null;
}
}
}