- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sip电话的下层逻辑分析
注意,回调函数的参数是从下往上传递的
一、进入安全模式的初始化过程
sipdemo 应用初始化时注册一个接收机 IncomingCallReceiver ,只接受处理 action :
android.SipDemo.INCOMING_CALL
应用开始的时候 onStart 时,开始 SIP 初始化和 SIP 注册。
先调用 sipmanager, 在应用程序初始化的时候就已经创建了 sipmanager 和 sipservice 的
单实例对象。
并且每次返回应用程序首界面的时候会重新调用一次 initializeManager();
private SipManager(Context context) {
mContext = context;
createSipService();
}
private void createSipService() {
IBinder b = ServiceManager.getService(Context.SIP_SERVICE);
mSipService = ISipService.Stub.asInterface(b);
}
public static void startSipService(Context context) {
slog(startSipService);
if (SipManager.isApiSupported(context)) {
ServiceManager.addService(sip, new SipService(context));
}
}
这回创建一个 manager 实例,一个 sipservice 实例。
在初始化 sipservice 实例的时候
会 private MyExecutor mExecutor = new MyExecutor(); // Executes immediate task
s in a single thread. Hold/release wake lock for running tasks
private SipService(Context context) {
if (DBG) log(SipService: started!);
mContext = context;
mConnectivityReceiver = new ConnectivityReceiver();
mWifiLock = ((WifiManager)
context.getSystemService(Context.WIFI_SERVICE))
.createWifiLock(WifiManager.WIFI_MODE_FULL, TAG);
mWifiLock.setReferenceCounted(false);
mSipOnWifiOnly = SipManager.isSipWifiOnly(context);
mMyWakeLock = new SipWakeLock((PowerManager)
context.getSystemService(Context.POWER_SERVICE));
mTimer = new SipWakeupTimer(context, mExecutor);
//Thread.
}
实例化 sipsercvice 的时候,会同时把应用程序的上下文传递下来,实例化一个网络变化接
收器,( 这个接收机在下一步注册了以后才能生效 ,只在网络变化时才会受到触发执行),
实例化一个 SipWakeLock 实例,用来保持 PARTIAL_WAKE_LOCK: 保持 CPU 运转,
屏幕和键盘灯有可能是关闭的,
您可能关注的文档
- 2016高考化学二轮复习下篇专题三微题型十七化学计算综合探究题.pdf
- 2016高考化学二轮复习下篇专题三微题型十五以工艺流程为载体的无机综合考察.pdf
- 2016高考化学二轮复习下篇专题三微题型十八化学实验综合探究题.pdf
- 2016高考化学二轮复习下篇专题三微题型十六新信息、新情境下的有机合成.pdf
- 2016高考化学二轮复习下篇专题三微题型十一新型有机物结构与性质的分析与判断.pdf
- 2017上海养老金上调最近消息:退休职工统一增加60元每人.pdf
- 2016高考化学二轮复习下篇专题三微题型十四化学反应速率与化学平衡原理的综合应用.pdf
- 2017元月预习---------鄂教语文五下.pdf
- 2017七年级上英语知识点归纳.doc.pdf
- 2017养老金上调最新消息企业退休人员涨工资事业单位退休人员基.pdf
文档评论(0)