service 介绍
1.service 服务,Android 四大组件之一,一般后台运行
2 .service和Activity区别
Activity:用户可见可以和用户交互.
Service:用户不可见,没有界面.
相同点:
都有自己的生命周期,都需要在清单文件注册
Service 特点
后台运行,不和用户交互,在退出应用时也不会被杀死;
创建Service
1.继承Service;
2.重写父类onBind()方法—必须重写;
3.清单文件注册Service
Service启动方式
启动方式一
(startService)
intent= new Intent(MainActivity.this,Service1.class);
startService(intent);
启动方式:onCreate() — onStartCommand() — onDestroy()
开启服务:startService()
停止服务:stopService()
启动方式二
(bindService)
就是 调用服务里面的方法
java代码
serviceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
mybinder= (Service1.Mybinder) service;
mybinder.callstart();
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
};
Intent intent = new Intent(MainActivity.this,Service1.class);
bindService(intent,serviceConnection, Service.BIND_AUTO_CREATE);
startService(intent);
服务
private static final String TAG = "Service1";
public Service1() {
}
@Override
public IBinder onBind(Intent intent) {
return new Mybinder();
}
public class Mybinder extends Binder{
public void callstart(){
start();
}
public void start() {
Log.i(TAG, "start: "+"启动");
}
public void callstop(){
stop();
}
绑定方式:onCreate() – onBind() — onUnbind() — onDestroy()
绑定服务:bindService()
解除绑定:unbindService()
Service的生命周期
一共五个
oncreate() 启动 只调用一次
onstartCommand() 已经启动服务调用
onBind()绑定
onUnbind()解除绑定
onDestroy()销毁