`
forhope
  • 浏览: 360090 次
  • 性别: Icon_minigender_1
  • 来自: 帝都
社区版块
存档分类
最新评论

Android的Service Binder机制

 
阅读更多
IMyService myService = IMyService .Stub.asInterface(ServiceManager.getService("myservice"));

// 可以去IMyService的实现中找到asInterface方法的实现(IMyService.java由IMyService.aidl生成):
/** Local-side IPC implementation stub class. */
public static abstract class Stub extends android.os.Binder implements  com.android.my.IMyService
{
private static final java.lang.String DESCRIPTOR = "com.android.my.IMyService";
/** Construct the stub at attach it to the interface. */
public Stub()
{
this.attachInterface(this, DESCRIPTOR);
}
/**
 * Cast an IBinder object into an com.android.my.IMyService interface,
 * generating a proxy if needed.
 */

public static com.android.my.IMyService asInterface(android.os.IBinder obj)
{
if ((obj==null)) {
return null;
}
android.os.IInterface iin = (android.os.IInterface)obj.queryLocalInterface(DESCRIPTOR);
if (((iin!=null)&&(iin instanceof my.IMyService))) {
return ((my.IMyService)iin);
}
return new my.IMyService.Stub.Proxy(obj);
}

// 可见,ServiceManager中注册的是IBinder,可以理解为句柄,传入asInterface后,通过接口的描述生成相应接口,接着返回代理的接口对象。
分享到:
评论

相关推荐

    Android系统的Binder机制之一——Service_Manager

    Android系统的Binder机制之一——Service_Manager

    android binder机制 以service的注册为例

    对android的binder机制做了非常深入的阐明,只要你有耐心挑战 读完必然会有很大的收获

    service demo 亲测可用 binder 机制,好用的很

    service demo 亲测可用 binder 机制,好用的很,适合于新手

    Android深入浅出之Binder机制.pdf

    Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来...

    Android深入浅出之Binder机制

     Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。 我们这里将以MediaService的...

    Android Binder机制

    Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。

    AndroidBinder机制介绍

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

    Android进程间通信-Binder机制

    二.Service Manager 成为Binder 守护进程之路 三.Server 和Client 获得Service Manager 接口之路 四.Server 启动过程源代码分析 五.Client 获得Server 远程接口过程源代码分析 六.应用程序框架层的Java 接口源...

    浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路

    本文主要介绍 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路,这里详细介绍了相关Binder的资料,帮助大家理解学习Android 源码Binder通信机制,有兴趣的小伙伴可以参考下

    Android进程间通信(IPC)机制Binder守护进程之路

    浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路

    深入理解aidl&service;

    service是android可以在后台运行的机制。如果自己的service可以在别package中被引用,需要在manifest文件中把此service的android:exported属性设置为true,否则会导致引用时异常Android: java.lang....

    Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析

    在上一篇文章中,我们分析了Android系统进程间通信机制Binder中的Server在启动过程使用Service Manager的addService接口把自己添加到Service Manager守护过程中接受管理。在这一篇文章中,我们将深入到Binder驱动...

    Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路

    在前面一篇文章浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路中,介绍了Service Manager是如何成为Binder机制的守护进程的。既然作为守护进程,Service Manager的职责当然就是为Server和...

    Android IPC机制ACtivity绑定Service通信代码实例

    Binder通信过程类似于TCP/IP服务连接过程binder四大架构Server(服务器),Client(客户端),ServiceManager(DNS)以及Binder驱动(路由器) 其中Server,Client,ServiceManager运行于用户空间,驱动运行于内核空间。这四...

    AndroidBinder

    Binder是什么?Binder是一种进程间通信机制为什么是Binder?Binder通信机制采用C/S架构,这很...如音视频等ServiceManager用来管理各种系统服务Binder驱动提供进程间通信的能力用户空间的Client、Server、ServiceManage

    Android Camera框架

    Android Camera框架从整体上看是一个client/service的架构,有两个进程:一个是client进程,可以看成是AP端,...client进程与service进程通过Binder 机制通信,client端通过调用service端的接口实现各个具体的功能。

    《Android系统源代码情景分析》

    第14章 Android应用程序的键盘消息处理机制 14.1 键盘消息处理模型 14.2 InputManager的启动过程 14.2.1 创建InputManager 14.2.2 启动InputManager 14.2.3 启动InputDispatcher 14.2.4 启动Input...

    Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析

    在前面一篇文章Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路中,介绍了在Android系统中Binder进程间通信机制中的Server角色是如何获得Service Manager远程接口的,即...

Global site tag (gtag.js) - Google Analytics