Activity绑定service
来源:互联网 发布:qq刷钻软件下载 编辑:程序博客网 时间:2024/05/22 14:50
Activity绑定service
public class MainActivity extends Activity {
//销毁绑定
@Override
protected void onStop() {
super.onStop();
if(flag)
{
//解除绑定
unbindService(serviceConnection);
flag=false;
}
}
//绑定Service
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
/*Intent intent=new Intent(MainActivity.this,MyService.class);
//启动service
bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);*/
}
private Button btnBinder=null;
private Button btnCall=null;
private TextView tv=null;
private MyService myService;
private boolean flag=false;//默认不绑定
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnBinder=(Button)this.findViewById(R.id.button1);
btnCall=(Button)this.findViewById(R.id.button2);
tv=(TextView)this.findViewById(R.id.textView1);
btnBinder.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,MyService.class);
//启动service
bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
}
});
//调用service方法
btnCall.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//处于绑定状态
if(flag)
{
int result=myService.getRandom();
tv.setText("<<<<<"+result);
}
}
});
}
private ServiceConnection serviceConnection= new ServiceConnection(){
//连接
@Override
public void onServiceConnected(ComponentName arg0, IBinder iBinder) {
//
LocalBinder binder=(LocalBinder) iBinder;
//获得服务
myService=binder.getService();
flag=true;
}
//不连接
@Override
public void onServiceDisconnected(ComponentName arg0) {
flag=false;
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
public class MyService extends Service {
private final LocalBinder lb=new LocalBinder();
private final Random num=new Random();
@Override
public IBinder onBind(Intent arg0) {
// 返回本地Binder
return lb;
}
//定义一个本地Binder类继承Binder
public class LocalBinder extends Binder{
//获得Servie子类当前实例给客户端
public MyService getService(){
return MyService.this;
}
}
public int getRandom(){
return num.nextInt(98);
}
}
- 绑定Activity和Service
- Activity和Service绑定
- Activity 和Service绑定
- Service 和 Activity 绑定
- Activity 和Service绑定
- Activity 和Service绑定
- 绑定Activity和Service
- Activity绑定service
- Activity 和Service绑定
- Activity 和Service绑定
- Service绑定Activity
- Activity绑定Service
- Tabhost中Activity绑定Service
- service和activity绑定步骤
- Tabhost中Activity绑定Service
- android service 与activity通信--绑定service
- Service基础Activity与Service绑定
- Android:Service的绑定和解绑定,Service与Activity通信
- UVALive 6176 Faulhaber's Triangle C++大数模拟
- activity切换动画效果
- HDU 5046 Airport DLX
- 安卓内部下载
- 使用Xcode 5创建(静态库)--Good
- Activity绑定service
- Java虚拟机工作原理详解
- IntentService
- [WHY] 一些编程相关的分享
- 单向链表逆置的功能实现
- Hdu-5053 the Sum of Cube(水题)
- 利用后台服务下载网络数据
- uC/OS-ii 学习步骤及书籍推荐
- 顺序表的各种算法NS图