android app.Service 关键问题
来源:互联网 发布:详情页设计软件 编辑:程序博客网 时间:2024/05/27 02:33
android中service分两种,local/remote;
local service为本地同acivity进程内service,local service随activity同时结束生命;
remote service与activity在不同进程中,其生命的结束与activity生死无关;
service使用时,需要在AndroidManifest.xml进行声明,process=”:remote”即为remote service
<service android:name="com.qijie.studyservice.MyLocalService"/><service android:name="com.qijie.studyservice.MyRemoteService" android:process=":remote"/>
Service的实现需继承android.app.Service,重载onBind方法:
@Override public IBinder onBind(Intent arg0) { android.os.Messenger messenger = new Messenger (new Handler() { @Override public void handleMessage(Message msg) { //消息处理; } ); return messenger.getBinder(); }
android.os.Messenger可以实现activity与Service的通信,但对于local Service来讲,这样做显然相对麻烦,因为local Service与Activity在相同进程,我们可以在重载onBind方法时返回一个继承自Binder的对象即可;
@Override public IBinder onBind(Intent arg0) { return new LocalBinder(); } public class LocalBinder extends Binder { public LocalService getService() { return LocalService.this; } }
service调用有两种方式:
startService/stopService方式,用于启动和停止服务运行,但无法与Service进行通信;
bindService/unbindService方式,可以实现activity与Service的数据通信,注意在activity退出时必须调用unbindService方法与Service解除绑定;
- remote service调用过程:
startService: ->onCreate()->onStart(); stopService: if not bind then onDestory(); else if was bind then just return; bindService: onCreate()->onBind(); unbindService: if not start service then onUnbind()->onDestory(); else if started service then just onUnbind();
0 0
- android app.Service 关键问题
- android关键组件service服务(一)
- Android APP启动关键流程分析
- javah无法访问android.app.service 找不到android.app.service
- android service 权限问题
- Android Service 问题总结
- Android Service 线程问题
- Android Service 线程问题
- Android Service 线程问题
- 如何快速定位Android APP中的关键函数?
- 判断android app或者service是否存在
- android开机自动启动Service或app
- Android API Guides---APP Manifest <receiver> <service>
- Android ApiDemos示例解析(38):App->Service->Foreground Service Controller
- Android ApiDemos示例解析(39):App->Service->Local Service Binding
- Android ApiDemos示例解析(40):App->Service->Local Service Controller
- Android ApiDemos示例解析(41):App->Service->Messenger Service
- Android ApiDemos示例解析(42):App->Service->Remote Service Binding
- Cannot resolve the collation conflict between "SQL_Latin1_Gen
- 第十三周 项目三--立体类族共有的抽象类
- 人人都是网站分析师:从分析师的视角理解网站和解读数据
- “ 戏"说 明星”与“麻将
- 面试题26:复杂链表的赋值
- android app.Service 关键问题
- CodeForge源码分享
- Node.js安装和入门
- window.location.href/replace/reload()--页面跳转+替换+刷新
- Java编码问题汇总
- linux学习笔记—逻辑操作符和管道符
- (一)程序入口-UIApplicationMain详解
- public和private注释
- python的学习总结