Android Application-Telephony-RIL 2 PhoneApp

系統環境:Ubuntu14.04 / Eclipse + adt

目標環境:Android4.2.2

/**
* Top-level Application class for the Phone app.
* 能從註釋看出來PhoneApp是整個電話應用的核心類
*/
public class PhoneApp extends Application {
	PhoneGlobals mPhoneGlobals;
	
	public PhoneApp() { //空的構造方法,也沒有人調用
	}
	
	@Override
	public void onCreate() {
		if (UserHandle.myUserId() == 0) { // 必須是primary user才能初始化phoneGlobals
		// We are running as the primary user, so should bring up the
		// global phone state.
		// PhoneApp的核心作用,持有一個PhoneGlobals類的實例,構造器
		// 將context傳入。new的過程中只是執行了父類的構造方法,並將自己保存爲sMe
		mPhoneGlobals = new PhoneGlobals(this);
		// 真正有用的是onCreate,其實在phone對象不存在時新建一個phone對象 
		// 另外幾個重要的framework層對象也在這裏創建 mPhoneGlobals.onCreate(); 
		} 
	} 
	// 好像是用作屏幕旋轉等時候的配置變化,這裏忽略它的存在,主要研究的是流程 
	@Override public void onConfigurationChanged(Configuration newConfig) {
		if (mPhoneGlobals != null) {
			mPhoneGlobals.onConfigurationChanged(newConfig); 
		} 
		super.onConfigurationChanged(newConfig);
	}
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章