诺虫的箱子

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1、使用Service
什么是service,在很多时候我们的程序不需要可以与用户交互的界面,他只需要在后台运行做一些事务的处理,比如socket长连
接,这就要使用service

创建service:
右边菜单new Service
如何启动service
startService(new Intent(MainActivity.this, 类.class/*MyService.class*/));
停止服务
stopService(new Intent(MainActivity.this, 类.class/*MyService.class*/));


public int onStartCommand(Intent intent, int flags, int startId)
执行完startservice调用


2、绑定Service

bindService(intent,this, Context.BIND_AUTO_CREATE);

@Override
public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
//服务被绑定成功后执行
}

@Override
public void onServiceDisconnected(ComponentName componentName) {
//服务所在的进程奔溃的时候或者被杀掉的时候调用
}


@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
// throw new UnsupportedOperationException("Not yet implemented");\
return new Binder();
}
3、Service的生命周期

public void onCreate()
public void onDestroy()
如果,同时启动服务并且绑定服务,那么必须同时停止服务,解除绑定,服务才可以停掉
如果说你的activity 与某个service进行绑定的话,那么在你退出activity的时候,服务会取消绑定(不求同世生但求同时死)
重复去执行启动服务的操作我们会发现onStartCommand会执行很多次,oncreate只会执行一次onStartCommand,只要执行startService(intent); 在内部就会执行onStartCommand

posted on 2019-12-05 16:30  诺虫的箱子  阅读(130)  评论(0编辑  收藏  举报