Android Frameworks层提供了硬件服务,Android系统APP可以调用这些硬件服务,进而完成硬件的控制,实现应有的功能。接着上一篇,这一篇要在frameworks层为应用提供java接口的硬件服务。cd到frameworks/base/core/java/android/os目录,添加 IGpioService.aidl:
package android.os;
inter...
分类:
移动开发 时间:
2014-12-17 18:39:05
阅读次数:
251
Introduction
在Android中, 每个应用程序都运行在自己的进程中,拥有独立的内存空间。但是有些时候我们的应用程序需要跟其它的应用程序进行通信,这个时候该怎么办呢?显然, Java中不允许跨进程内存共享.无法直接交换数据。Android中可以采用AIDL的方式实现进程间通信(interprocess communication(IPC))。
...
分类:
移动开发 时间:
2014-12-07 21:47:29
阅读次数:
333
在android开发过程中,为了让其他的应用程序,也可以访问本应用程序的服务,android系统采用远程过程调用来实现。android通过接口来公开定义的服务。我们将能够夸进程访问的服务成为AIDL服务(Android Interface Definition Language)。本节主要讲述通过a...
分类:
移动开发 时间:
2014-12-05 17:02:13
阅读次数:
130
此实例与前面aidl不同之处在于,传递的数据比较复杂,传递了自定义数据对象,本实例使用到了两个数据对象Person和Pet,其中Person是作为远程调用Service传递的参数,Pet是远程Service返回调用端的数据。像Java的RMI需要将数据对象序列化一样,此数据对象也需要序列化,因此.....
分类:
移动开发 时间:
2014-12-04 11:56:48
阅读次数:
144
转载:http://www.cnblogs.com/zhangdongzi/archive/2012/01/09/2317197.html一.基础知识AIDL的作用 在Android平台,每个应用程序App都运行在自己的进程空间。通常一 个进程不能访问另一个进程的内存空间(一个应用不能访问另一个应....
分类:
移动开发 时间:
2014-12-04 11:35:36
阅读次数:
240
在Android1.5版本之前,实现挂断电话是非常容易的事,只需要调用TelephonyManager的endCall()方法就可以了,但在1.5版本之后,Google工程师为了手机的安全期间,把endCall的方法隐藏掉了。所以实现挂断电话可以通过反射的方法,执行endCall方法。具体实现如下:
TelephonyManager在源码里是这样描述的:Context.getSystemService(Context.TELEPHONY_SERVICE)},我们通过TELEPHONY_SERVICE系统服...
分类:
移动开发 时间:
2014-11-30 20:10:13
阅读次数:
277
在android中进程间通信(IPC)的基石是Binder系统,Binder系统的核心Binder驱动是C来实现的,对于应用开发人员来说无疑晦涩难懂,而整个android框架是基于面向对象思想的,对于底层Binder驱动的操作细节全部隐藏,framework层提供了一个牛逼无比的Binder对象,所以我们要实现进程..
分类:
移动开发 时间:
2014-11-30 00:56:11
阅读次数:
161
1、把下面两个aidl文件放在自己的工程中,自己的项目视为客户端,来实现跨进程通信。
代码如下:
建立包名:
/*
**
** Copyright 2007, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not ...
分类:
移动开发 时间:
2014-11-24 12:00:26
阅读次数:
247
前言:本文主要讨论启动远程Service。 Service和Activity不在一个工程里面,也即不在一个App里面。不在一个进程里,所以会用到AIDL。 Service的android:process属性未指定。 一、startService 1、通过调用startService启动服务的过程: ...
分类:
移动开发 时间:
2014-11-14 19:33:19
阅读次数:
189
AIDL(AndroidInterfaceDefinitionLanguage),可实现进程间的通信,并且允许多线程访问。(如果需要进程间通信,又不需要处理多线程访问,那么使用Messenger的方式更为合适),实现AIDL,需要以下几个步奏。1.定义AIDL接口AIDL接口使用后缀名为.aidl的...
分类:
移动开发 时间:
2014-11-14 00:09:36
阅读次数:
284