您的位置:首页 > 其它

Service 绑定方式启动,生命周期。绑定方式读取服务器数据

2016-06-27 15:36 591 查看
ServiceConnection sc;
MyService.MyBinder myb;
//绑定
public void bt_3(View v)
{
//以绑定方式启动
//准备Intent:显式意图
Intent intent = new Intent(this,MyService.class);
if (sc==null) {
sc = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {

//代理对象
myb = (MyService.MyBinder) service;
Toast.makeText(MainActivity.this, "绑定启动完成,接收返回的对象" + myb, Toast.LENGTH_SHORT).show();
}

//异常状态时触发
@Override
public void onServiceDisconnected(ComponentName name) {

Toast.makeText(MainActivity.this, "服务连接中断", Toast.LENGTH_SHORT).show();
}
};
}
//三个参数
//1-意图
//2-服务连接的实现类
//3-启动方式,一般用Context.BIND_AUTO_CREATE
bindService(intent, sc, Context.BIND_AUTO_CREATE);
}
//解除绑定
public void bt_4(View v)
{

if (sc!=null) {
unbindService(sc);
sc=null;
}
else
{
Toast.makeText(MainActivity.this, "请先绑定服务", Toast.LENGTH_SHORT).show();
}
}
//读取
public void bt_5(View v)
{
//读取服务的运行数据
//用代理对象
Toast.makeText(MainActivity.this, "读到的服务数据="+myb.getTest(), Toast.LENGTH_SHORT).show();
}


MainActivity.java

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: