`
土豆哪里去挖
  • 浏览: 2163 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

startService与binderService的区别

    博客分类:
  • it
 
阅读更多

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开发-文章源码

    AIDL项目源码、Android跨进程通信、Binder Service

    AndroidBinder机制介绍

    做过Android开发的同学可能有些体会,入门初期,工作内容主要是实现各式各样的UI界面,以及实现应用的业务逻辑。...我们平时使用最多的startActivity、startService都是通过binder机制与AMS所在进程进行通

    Android中bindService基本使用方法概述

    Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindService方法,本文只探讨纯bindService的使用,不涉及任何startService方法调用的情况。如果想了解startService相关的...

    android的服务

    以上代码调用了startService方法,Service会持续运行,直到调用stopService()或stopSelf()方法。 还有另一种绑定Service的方式: 1. … 2. ServiceConnection conn = new ServiceConnection() { 3. @Override 4. ...

    《深入理解Android》卷Ⅱ

    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...

    grpc-dotnet-namedpipes:Windows在C#.NET中为gRPC命名管道传输

    Greeter.BindService(server.ServiceBinder, new GreeterService());server.Start();客户: var channel = new NamedPipeChannel(".", "MY_PIPE_NAME");var client = new Greeter.GreeterClient(channel);

    计步器的实现

    描述 android计步器的实现,自定义的一个弧形进度条,记步通过手机的传感器来实现,也就是说不支持传感器的机子(应该很老的了吧)就没有效果。看看效果图: 这里写图片描述这里写图片描述 自定义View ...

    蓝牙APP通信

    LocalBinder binder = (LocalBinder) service; Tools.mBLEService = binder.getService(); if (Tools.mBLEService.initBle()) { // scanBle(); // 开始扫描设备 if (!Tools.mBLEService....

    SysServiceProxyLib:一个用于在服务管理器中调用系统服务的 Android 库

    SysServiceProxy.getInstance(appContext).startDaemon();检查守护进程是否可用 SysServiceProxy.getInstance(appContext).isDaemonAlive();通过 SSProxy 调用系统服务例如,让设备进入睡眠状态:

    hm1375_parrotv1.1验证通过_20170824_1528.7z

    全志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....

Global site tag (gtag.js) - Google Analytics