RIL函数是通过异步机制调用的.
RIL_Initialize 在底层会调用RIL_OPEN函数,创建一个相应的对象(ril 层管理着许多这样的对像),比如:当调用如RIL_GetCurrentOperator时,通过HRIL就关联到一个RIL_Initialize创建的对像上,这样的函数时会调用RIL_IOCONTROL,这时RIL层会下发相应的AT命令,发完之后就返回了,应用层调用RIL_GetCurrentOperator就返回了,当底层处理完这个AT命令后,其结果返回给RIL,RIL通过这个对象上结果回调函数返回相应的结果(此时调用ResultCallback)。如果RIL_Initialize时请求了通知,当RIL层收到底层的通知后,会通过对像上的通知回调函数返回(调用notifyCallback)
------------------------------------------------------------
问题:hrRilInit = RIL_Initialize(1,
FDNResultCallback,
FDNNotifyCallback,
dwRILNotificationClasses,
NULL,
&g_hRil
);
上面函数调用中的回调函数FDNResultCallback和FDNNotifyCallback分别在什么时候别调用到?
小弟对…
答复:一个是结果回调,一个是通知回调。结果回调就是查询、命令的结果出来的时候RIL将调用此回调函数告诉上层;通知回调一般是网络消息之类的,例如ril发现无网络了,就会用通知回调来告诉所有的APP
------------------------------------------------------------------------
-
luoxinan0110 发表于2008年4月22日 11:09:53
举报
回复
- 非常不错!如果了解SMS.LIB是怎么封装的,能否麻烦介绍下,谢谢!