android服务

来源:互联网 发布:linux 安装 docker 编辑:程序博客网 时间:2024/05/16 02:05

普通开启

             <!--配置服务   -->            <service android:name="com.itheima.service.FirstService">            </service>        // 点击按钮开启服务            public void click1(View v) {                Intent intent = new Intent(this, FirstService.class);                // 开启服务                startService(intent);            }            // 点击按钮停止服务            public void click2(View v) {                Intent intent = new Intent(this, FirstService.class);                stopService(intent);            }

public class FirstService extends Service {

@Overridepublic IBinder onBind(Intent intent) {    System.out.println("onBind");    return null;}//当服务第一次被开启的时候调用@Overridepublic void onCreate() {`    System.out.println("onCreate");    super.onCreate();}//之后的点击的时候会一直执行此方法@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {    System.out.println("onStartCommand");    return super.onStartCommand(intent, flags, startId);}//服务销毁的时候执行@Overridepublic void onDestroy() {    System.out.println("onDestroy");    super.onDestroy();}

}

bindService 方式开启服务的特点

(1)当点击按钮第一次开启服务 会执行服务的onCreate方法 和 onBind()方法
(2) 当我第二次点击按钮在调用bindservice 服务没有响应
**(3) 当activity销毁的时候服务也销毁 不求同时生但求同时死
(4)通过bind方式开启服务 服务不能再设置页面里面找到 相当于是一个隐形的服务
(5)bindservice不能多次解绑 多次解绑会报错 多次绑定无响应

// 点击按钮通过 bindservice 方式去开启服务
public void click3(View v) {
Intent intent = new Intent(this,FirstService.class);

    //连接到服务FirstService      conn = new MyConn();     System.out.println("bind----"+conn);     bindService(intent,conn, BIND_AUTO_CREATE);}//点击按钮 取消绑定服务public void click4(View v) {     System.out.println("unbind----"+conn);    unbindService(conn);}//当activity销毁的时候调用@Overrideprotected void onDestroy() {    //当activity销毁的时候  取消绑定服务    unbindService(conn);    super.onDestroy();}//用来监听服务的状态private class MyConn implements ServiceConnection{    //连接成功后调用    @Override    public void onServiceConnected(ComponentName name, IBinder service) {    }    //失去连接调用    @Override    public void onServiceDisconnected(ComponentName name) {    }}
0 0
原创粉丝点击