博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android89 服务service
阅读量:6233 次
发布时间:2019-06-22

本文共 2813 字,大约阅读时间需要 9 分钟。

 

#服务

服务不能new,new出来的只是一个普通java对象不是服务,只能够通过Intent和startService(intent)创建服务。 ###开启方式 * startService,onCreate-onStartCommand-
onDestroy没有与绑定相关的方法。 *
该方法启动的服务所在的进程属于服务进程, *
Activity一旦启动服务,服务就跟Activity一毛钱关系也没有了,只不过运行在同一个进程而已。 * bindService,onCreate-onBind-onUnbind-
onDestroy。 *
绑定后再绑定不会执行任何操作,解绑后再解绑会出异常。 *
该方法启动的服务所在进程不属于服务进程 * Activity与服务建立连接,Activity一旦死亡,服务也会死亡
package com.itheima.runservice;import android.os.Bundle;import android.os.IBinder;import android.app.Activity;import android.app.Service;import android.content.ComponentName;import android.content.Intent;import android.content.ServiceConnection;import android.view.Menu;import android.view.View;public class MainActivity extends Activity {    private Intent intent;    private MyServiceConn conn;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        intent = new Intent(this, MyService.class);        conn = new MyServiceConn();    }    public void start(View v){        startService(intent);    }        public void stop(View v){        stopService(intent);    }        public void bind(View v){        //绑定服务        bindService(intent, conn, BIND_AUTO_CREATE);    }        public void unbind(View v){        //解绑服务        unbindService(conn);    }        class MyServiceConn implements ServiceConnection{        //服务连接成功时,此方法调用        @Override        public void onServiceConnected(ComponentName name, IBinder service) {        }        //服务失去连接时,此方法调用        @Override        public void onServiceDisconnected(ComponentName name) {        }    }}//清单文件
package com.itheima.runservice;import android.app.Service;import android.content.Intent;import android.os.IBinder;public class MyService extends Service {    //绑定时调用    @Override    public IBinder onBind(Intent intent) {        // TODO Auto-generated method stub        System.out.println("bind方法");        return null;//返回Activity和MyService的中间人对象    }    //解绑时调用    @Override    public boolean onUnbind(Intent intent) {        // TODO Auto-generated method stub        System.out.println("unbind方法");        return super.onUnbind(intent);    }        @Override    public void onCreate() {        // TODO Auto-generated method stub        super.onCreate();        System.out.println("create方法");    }        @Override    public int onStartCommand(Intent intent, int flags, int startId) {        // TODO Auto-generated method stub        System.out.println("start方法");        return super.onStartCommand(intent, flags, startId);    }        @Override    public void onDestroy() {        // TODO Auto-generated method stub        System.out.println("destroy方法");        super.onDestroy();    }    }

 

本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/4951686.html,如需转载请自行联系原作者

你可能感兴趣的文章
[LeetCode] 267. Palindrome Permutation II
查看>>
前端妹纸的进阶之路——redux源码分析
查看>>
Centos7下使用gitolite搭建git服务器
查看>>
如何更好的编写async函数
查看>>
【前端工程师手册】JavaScript之this的笔记
查看>>
使用nginx来为你在一台服务器部署多个Web Server
查看>>
G5 Capital 与 SegmentFault 达成战略合作
查看>>
抽象类和接口的区别
查看>>
Vue 组件详解
查看>>
前端面试题-主流浏览器内核
查看>>
JavaScript 进阶知识 - Ajax篇
查看>>
阿里巴巴测试环境稳定性提升实践
查看>>
websocket搭建简单的网页聊天室框架【续1】
查看>>
Scrapy Shell
查看>>
array_merge和+号合并数组的区别
查看>>
TP5整合 WorkerMan 以及 GatewayWorker
查看>>
Facebook Docusaurus 中文文档 准备网站
查看>>
如何绘制一个圆圆的loading圈
查看>>
Nodejs学习记录:用koa.js开发微信公众号
查看>>
Android源码集锦,悬浮窗综合资讯类APP动画效果左右切换效果美妆领域
查看>>