Chinaunix首页 | 论坛 | 博客
  • 博客访问: 667958
  • 博文数量: 237
  • 博客积分: 4285
  • 博客等级: 上校
  • 技术积分: 2701
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-15 14:05
文章分类

全部博文(237)

文章存档

2014年(2)

2013年(3)

2012年(47)

2011年(15)

2010年(68)

2009年(102)

我的朋友

分类: LINUX

2012-05-28 13:40:04

文件:StkAppService.java

函数:onCreate()

STK的APP程序启动后执行的第一个函数,会调用方法:

com.android.internal.telephony.gsm.stk.StkService.getInstance();

来获取StkService实例,经过效验后启动线程。/**

 

     * Used for instantiating/updating the Service from the GsmPhone constructor.

     *

     * @param ci CommandsInterface object

     * @param sr SIMRecords object

     * @param context phone app context

     * @param fh SIM file handler

     * @param sc GSM SIM card

     * @return The only Service object in the system

     */

 

文件:StkService.java

函数:public static StkService getInstance(CommandsInterface ci, SIMRecords sr,

            Context context, SIMFileHandler fh, SimCard sc)

新建一个StkService类,并调用它的构造函数。在构造函数中获取RilMessageDecoder来处理消息,同时注册对RIL事件的处理包括:

MSG_ID_SESSION_END,

MSG_ID_PROACTIVE_COMMAND,

MSG_ID_EVENT_NOTIFY,

MSG_ID_CALL_SETUP,

然后调用函数reportStkServiceIsRunning函数通知RIL层,StkService服务已经启动。这个通知会转换为一条REQUEST,RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING

注意:该函数应该是由Phone类的构造函数来调用。

文件:PhoneFactory.java

函数:public static void makeDefaultPhone(Context context)

在这个函数中会根据电话制式的类型调用GSM或者CDMA类的构造,网路类型取决于RILConstants. PREFERRED_NETWORK_MODE,它的值由下发给RIL的REQUEST:

RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE的上报决定。

在GSM的构造函数中会调用:

StkService.getInstance()

如果该实例没有被初始化,则初始化,否则直接返回。

文件:StkService.java

函数:handleMessage

收到RIL层的主动上报:UNSOL_STK_PROACTIVE_COMMAND后,调用函数;handleMessage->

sendStartDecodingMessageParams(),发送给函数 processMessage()->decodeMessageParams-> mCmdParamsFactory.make(BerTlv.decode(rawData))-> msg.sendToTarget();->handleMessage-> handleRilMsg-> handleProactiveCommand-> mContext.sendBroadcast(intent);

同时向板侧发送sendTerminalResponse

也就是在这个函数广播了解析结果,并向板侧发送了回应。

/packages/app/phone/src/com/android/phone

Setting.java OnCreate中根据不同制式,有不同的UI显示
阅读(1949) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~