微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > ITelephony与TelephonyManager/TelephonyManagerEx介绍

ITelephony与TelephonyManager/TelephonyManagerEx介绍

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
简要介绍ITelephony与TelephonyManager/TelephonyManagerEx,并说明他们的使用场景。
[SOLUTION]
ITelephony
ITelephony接口的代码实现是PhoneInterfaceManager.java,即PhoneInterfaceManager.java继承并实现了ITelephony.Stub。
PhoneInterfaceManager.java在PhoneApp onCreate()时启动,并作为名称为“phone”的Service注册到ServiceManager中。调用其中的接口(我们以查看SIM为例),可以使用如下代码:


用途:在使用平台开发时,其他应用可以通过ITelephony获取到一些Telephony相关信息。
TelephonyManager
TelephonyManager.java文件,主要是利用ITelephony、iPhoneSubInfo与ITelephonyRegistry来实现其功能,例如同样我们以hasIccCard()为例,这个函数在TelephonyManager中的实现是:


可见,TelephonyManager.java可以通过ITelephony来实现跨进程调用。此外TelephonyManager中提供listen()接口实现PhoneStateListener相关监听功能。使用方式大致如下:


用途:
1、 使用SDK开发或者平台开发时,调用相关接口获取Telephony相关信息;
2、 使用SDK开发或者平台开发时,调用listen(PhoneStateListener listener, intevents),实现Telephony消息监听。
TelephonyManagerEx
TelephonyManagerEx.java文件,由mtk平台特有双卡接口的实现。与TelephonyManager类似,主要是利用ITelephony、IPhoneSubInfo与ITelephonyRegistry来实现其功能。使用方式也与TelephonyManager是类似的:


用途:
1、 使用SDK开发或者平台开发时,调用相关双卡接口获取Telephony相关信息;
2、 使用SDK开发或者平台开发时,调用listenGemini(PhoneStateListener listener,
int events, int simId),实现Telephony监听双卡消息。
最终结论:
1、 ITelephony使用在平台开发上,跨进程调用到phone进程获取相关Telephony信息;
2、 当使用SDK开发时,仅能使用TelephonyManager或者TelephonyManagerEx接口,无法使用ITelephony;
3、 当使用SDK开发且需要使用双卡接口时,请尽量使用TelephonyManagerEx。
若是需要做相关接口的客制化,请参考FAQ09347 如何在ITelephony与TelephonyManager/TelephonyManagerEx中开出接口使用

看不懂,学习了

签到专用组

签到专用组

签到专用组

不懂,学习

学习了

签到专用组

虽然看不懂,还是支持一下小编

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top