`
文章列表
GSMCallTracker在本质上是一个Handler。 GSMCallTracker是Android的通话管理层。GSMCallTracker建立了ConnectionList来管理现行的通话连接,并向上层提供电话调用接口。 在GSMCallTracker中维护着通话列表:connections。顺序记录了正连接上的通话,这些通话包括:ACTIVE,DIALING,ALERTING,HOLDING,INCOMING,WAITING等状态的连接。 GSMCallTracker将这些连接分为了三类别进行管理:     RingingCall: INCOMING ,WAITING     F ...
第一部分 c代码 Android源码中,hardware/ril目录中包含着Android的telephony底层源码。这个目录下包含着三个子目录,下面是对三个子目录的具体分析。 一、目录hardware/ril/include分析:                                               只有一个头文件ril.h包含在此目录下。ril.h中定义了76个如下类型的宏: RIL_REQUEST_XXX , 这些宏代表着客户进程可以向Android telephony发送的命令,包括SIM卡相关的功能,打电话,发短信,网络信号查询等。好像没有操作地址本的功能? ...
Android的Window类(一)  Android的GUI层并不复杂。它的复杂度类似于WGUI这类基于布局和对话框的GUI,与MFC、QT等大型框架没有可比性,甚至飞漫魏永明的MiniGUI都比它复杂许多。您也许会问,这样简单的GUI如何实现浏览器呢?原因很简单,浏览器有自己一套GUI。Android浏览器(WebKit)的GUI和Android的GUI实用同一套GDI——Skia,但GUI层是完全不同的设计,分别自成体系。    Windown类,位于代码树frameworks\base\core\java\android\view\Windowjava.java文件。连同注释,这个文件总 ...
public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow(); }
分析Android的启动过程,从内核之上,我们首先应该从文件系统的init开始,因为 init 是内核进入文件系统后第一个运行的程序,通常我们可以在linux的命令行中指定内核第一个调用谁,如果没指定那么内核将会到/sbin/, /bin/ 等目录下查找默认的init,如果没有找到那么就报告出错。 下面是曾经用过的几种开发板的命令行参数: S3C2410 启动参数: noinitrd root=/dev/nfs  nfsroot=192.168.2.56:/nfsroot/rootfs ip=192.168.2.188:192.168.2.56:192.168.2.56:255.255.255 ...
Andriod Phone模块相关(总览) 2010-01-30 13:50 1、从java端发送at命令的处理流程。 2、unsolicited 消息从modem上报到java的流程。 3、猫相关的各种状态的监听和通知机制。 4、通话相关的图标变换的工作原理。 5、gprs拨号上网的通路原理。 6、通话相关的语音通路切换原理、震动接口。 7、通话相关的notification服务。 8、通话相关的各种server。 Andriod Phone模块相关(一) 2010-01-30 14:52 第一部分:从java端发送at命令的处理流程。 拨出电话流程: 1、Contacts的AndroidM ...
刷第一个开机画面软件使用教程: 先打开机子的fastboot模式 1:先找好图片(适合自己分辨率的图片)放在工具里(最好是PNG格式,其他格式容易失真) 2:点开 G2开机画面制作工具 3:点OPEN打开图片 4:点convert生成第一个开机画面文 ...
Android 开机会出现3个画面: 1. Linux 系统启动,出现Linux小企鹅画面(reboot)(Android 1.5及以上版本已经取消加载图片); 2. Android平台启动初始化,出现"A N D R I O D"文字字样画面; 3. Android平台图形系统启动,出现含闪动的ANDROID字样的动画图片(start)。 1、开机图片(Linux小企鹅) (Android 1.5及以上版本已经取消加载图片); Linux Kernel引导启动后,加载该图片。 logo.c中定义nologo,在fb_find_logo(int depth)函数中根据nol ...
一、 android sms所要的权限 Java代码 1.<uses-permission android:name="android.permission.READ_SMS" />  2.<uses-permission android:name="android.permission.RECEIVE_SMS" /> 二、 sms发送 与短消息发送相关的类为:SmsManager. Java代码 1.SmsManag ...
下面的一些例子是从网上找的,他有点像J2ME的platformRequest,能调用手机平台的一些如SMS,浏览器,MMS,TEL等功能 显示网页 Java代码 # Uri uri = Uri.parse("http://google.com"); # Intent it = new Intent(Intent.ACTION_VIEW, uri); # startActivity(it); 显示地图 Java代码 # Uri uri = Uri.parse("geo:38.899533,-77.036476" ...
1. ITelephony接口和ISms接口以及AIDL  在我们的Android应用中,当需要实现电话拨号时,我们需要进行如下调用  ITelephony phone = (ITelephony)ITelephony.Stub.asInterface(ServiceManager.getService("phon"))  phone.dial("10086");    对于短信应用,我们需要的是调用SmsManager,代码如下    SmsManager manager = SmsManager.getDefault();    manager.sen ...
Activity物件与Service物件在不同的进程(Process)里执行,各有不同的UID(Unix user ID)。由於各自独立执行,所以Activity物件通常依赖Intent物件去请求Android启动所需要的Service。   就Service物件的开发者而言,Activity物件是属於外界(因为两者在不同的进程里执行)的软体,也大多是别人开发的。那麼,Service物件如何确定这外来的物件是善意的呢? 这就是安全性的问题了。在Service类别里,可以做权限的检查,其常用指令如下图: 當Service確認了對方的善意,就將IBinder介面的參考(Reference)傳 ...
   与人有生老病死一样,线程也同样要经历开始(等待)、运行、挂起和停止四种不同的状态。这四种状态都可以通过Thread类中的方法进行控制。下面给出了Thread类中和这四种状态相关的方法。     // 开始线程     public void start( );     public void run( );     // 挂起和唤醒线程     public void resume( );     // 不建议使用     public void suspend( );    // 不建议使用     public static void sleep(long millis);     ...
1. Android进程     在了解Android线程之前得先了解一下Android的进程。当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。同时,Android会为每个应 ...
Android 的volume服务主要是用来管理usb/sd卡等外部存储设备。平台可以对外部存储设备进行操作和轮询状态,当外部存储设备状态发生变化时,volume 服务也会即时报告平台。 相关代码主要位于: system/core/vold frameworks/base/services/java/com/android/server/MountListener.java frameworks/base/services/java/com/android/server/MountService.java frameworks/base/core/java/android/os/IMountS ...
Global site tag (gtag.js) - Google Analytics