android phone剖析细节

本人毕业可快一年了。一直从事android方面的研究。感觉对phone的理解是最为深刻的阿。首先,我不讲那些具体的框架了,大家上网随便搜搜都有,主要讲些细节的吧。可能是些小东西吧。

首先,界面主要的是incallscreen.java中,他是单例的。首先需要注意的是,他内部比较变态的初始化,不是每次都会调用onCreate,但是,我们又不能简单的把每通电话的处理代码放在onResume中,因为在如果在通话过程中,通过home键返回桌面,再通过通知兰返回incallscreen也会触发onResume。因此最好的方法是利用phoneApp的全局访问能力,在内部设置flag。进行分情况的处理。

CallNotifier.java是个handler对象,它对于底层Phone Frame层具有注册监听器。可以对与通话状态变化有良好的监听。比如来电会触发onNewRingingConnection。挂断的时候会触发onDisconnect.通话状态的时候可以触发onPhoneStateChanged 并且其中都能方便的取得底层framework的connection,能够很精确的获得通话状态,通话类型。此处的状态检测比InallScreen更加的精确,因为inCallScreen 不是每时每刻都在显示中,而CallNotifier随时都在。不会有遗漏。

 

phone应用层存在一个phoneApp的应用app应用程序,开机就会运行,在内部,可以对incallscreen等操作。

你可能感兴趣的:(android phone剖析细节)