1.startService 注册方式:
<serviceandroid:name="Class.Name">
<intent-filter>
<actionandroid:name="serviceName"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
</intent-filter>
</service>
启动方式:startService(new Intent(serviceName))
生命周期:service启动后,不绑定调用者。调用者消亡,service仍存在于后台;只有stopService(new Intent(serviceName)) 才可以杀死service
binderService 注册方式:
<serviceandroid:name="Clas.Name"></service>
启动方式:
private Class.Name _service;
ServiceConnection connect = new ServiceConnection() {
@Override
publicvoid onServiceDisconnected(ComponentName arg0) {
_service = null;
}
@Override
publicvoid onServiceConnected(ComponentName arg0, IBinder service) {
_service = ((Class.Name.LocalBinder)service).getService();
}
};
bindService(new Intent(this,"Class.Name", connect, Context.BIND_AUTO_CREATE);
生命周期:service启动后, 绑定调用者,调用者消亡,service也消亡,调用者也可以unbindService(connect)来终止service
2.startService与binderService的区别:startService的使用简单,适合service于调用者之间没有交互的场景。binderService操作复杂,但是比较灵活,可以获取service对象,对service进行管控操作。
相关推荐
AIDL项目源码、Android跨进程通信、Binder Service
做过Android开发的同学可能有些体会,入门初期,工作内容主要是实现各式各样的UI界面,以及实现应用的业务逻辑。...我们平时使用最多的startActivity、startService都是通过binder机制与AMS所在进程进行通
Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindService方法,本文只探讨纯bindService的使用,不涉及任何startService方法调用的情况。如果想了解startService相关的...
以上代码调用了startService方法,Service会持续运行,直到调用stopService()或stopSelf()方法。 还有另一种绑定Service的方式: 1. … 2. ServiceConnection conn = new ServiceConnection() { 3. @Override 4. ...
6.5 startService之按图索骥 6.5.1 Service知识介绍 6.5.2 startService流程图 6.6 AMS中的进程管理 6.6.1 Linux进程管理介绍 6.6.2 关于Android中的进程管理的介绍 6.6.3 AMS进程管理函数分析 6.6.4 AMS...
Greeter.BindService(server.ServiceBinder, new GreeterService());server.Start();客户: var channel = new NamedPipeChannel(".", "MY_PIPE_NAME");var client = new Greeter.GreeterClient(channel);
描述 android计步器的实现,自定义的一个弧形进度条,记步通过手机的传感器来实现,也就是说不支持传感器的机子(应该很老的了吧)就没有效果。看看效果图: 这里写图片描述这里写图片描述 自定义View ...
LocalBinder binder = (LocalBinder) service; Tools.mBLEService = binder.getService(); if (Tools.mBLEService.initBle()) { // scanBle(); // 开始扫描设备 if (!Tools.mBLEService....
SysServiceProxy.getInstance(appContext).startDaemon();检查守护进程是否可用 SysServiceProxy.getInstance(appContext).isDaemonAlive();通过 SSProxy 调用系统服务例如,让设备进入睡眠状态:
全志R16的parrotv1.1的系统调通摄像头hm1375 2017/8/24 14:04 版本:V1.1 开发板:SC3817R OS:parrotv1.1(Android4.4.2) 1、 R:\wyb\hm1375_parrotv1.1\android\device\softwinner\astar-evb30\configs\camera....