編輯:關於Android編程
美國時間 2013 年 10 月 31 日, Google 正式發布了全新版本的移動操作系統 Android 4.4 KitKat 。據 google官方介紹,Android 4.4 降低了硬件的需求,提高了程序運行效率。距離 4.4 發布已經過去3個月了,不少朋友也已經體驗到了 4.4 所帶來的快感,大家可以用過刷入三方ROM(比如知名的CM ROM等)體驗Android 4.4。但從目前來看,基於MTK平台的設備,幾乎還沒有運行Android 4.4 的設備,OEM廠商拿到系統之後會做許多定制,比如MTK就比高通的定制更多,這也就是為什麼國內許多廠商直接拿到MTK的方案就可以出貨的原因,當然這也造成了鋪貨時間更慢。
因工作原因,這裡就以MTK平台Android 4.4為例(後文例子代碼使用MTK平台 Android 4.4 代碼,但基於各方面原因只標注關鍵代碼,以調用時序圖為主),整理並記錄 Android 4.4 Phone 的工作流程。雖然MTK對於Android的源碼定制修改較多,但整體結構還是可以與原生進行對比的。
我們知道通話功能(Telephony)是手機最基本,也是最終要的功能,因此 Google對於這塊的改動歷來是最少的。在經過了數次迭代之後,我們在 4.4 上發現 Google 對 Phone 模塊進行了較大的改動。從圖1可以大致看到相關的改動:
圖1<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+ICAgICAgICAg1K3AtLXEUGhvbmXTptPDsru8+8HLo6zIobb4tPrWrrXEysdEaWFsZXK6zVRlbGVTZXJ2aWNlo6zOqsqyw7TV4sDvsNFJbkNhbGxVSbWltsDB0LP2wLTE2KO/yrW8ysnPztLDx7WltsDIpbHg0utJbkNhbGxVSdKyyse/ydLUyfqzybbU06a1xEFQS7XEo6y1q8q1vMrJz3B1c2i1vcrWu/rW0Mi0w7vT0NCnufujrNLyzqpEaWFsZXK1xEFuZHJvaWQubWvW0NLRvq29q0luQ2FsbFVJtcS0+sLrsPy6rKOs0rK+zcrH0tG+rb2rSW5DYWxsVUm1xLT6wuu08rD8tb3By0RpYWxlci5hcGvW0KGjyOfPwqO6PC9wPgo8cD48L3A+CjxwcmUgY2xhc3M9"brush:java;">src_dirs := src $(contacts_common_dir)/src $(incallui_dir)/src
res_dirs := res $(contacts_common_dir)/res $(incallui_dir)/res
LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
LOCAL_AAPT_FLAGS := \
--auto-add-overlay \
--extra-packages com.android.contacts.common \
--extra-packages com.android.incallui
從整體上來講,也就是說把原來的Phone分成了幾塊,Dialer現在是撥號應用,TeleService是Server端,InCallUI負責顯示。相對於 4.4 之前的Phone應用來說,這樣更改後結構更加清晰明了。
看了整體結構,大致規劃一下後續的學習計劃,如下:
1. Android 4.4 Kitkat Phone工作流程淺析(一)__概要和學習計劃;
(注:制定學習計劃)
2. Android 4.4 Kitkat Phone工作流程淺析(二)__UI分析;
(注:主要包括界面控件介紹,界面控件更新控制流程介紹)
3. Android 4.4 Kitkat Phone工作流程淺析(三)__MO(去電)流程分析;
(注:包括從Dialer撥號到對方接通電話並進行正常通話流程分析)
4. Android 4.4 Kitkat Phone工作流程淺析(四)__MT(來電)流程分析;
(注:包括來電從RIL上報到InCallActivity顯示流程分析)
以上計劃僅目前考慮到的一部分,後續根據實際情況變動。
Android開發之向桌面添加快捷方式 對於一個希望擁有更多用戶的應用來說,用戶桌面可以說是所有軟件的必爭之地,如果用戶在手機桌面上建立了該軟件的快捷方式,用戶將會更頻繁
黑夜黑夜給了我黑色的眼睛,我卻用它尋找光明~傳值方式AIDL是允許跨進程傳遞值的,一般來說有三種方式:- 廣播;這種算是比較常見的一種方式了,傳遞小數據不錯- 文件;這個
這裡介紹在Android中實現相機調取、拍照片、獲取照片、存儲新路徑等已經打開相冊、選擇照片等功能首先看一下界面,很簡單配置讀取內存卡和調用照相頭的功能 <!--
前段時間做了一個失敗的圖像處理項目,結果雖然不太好,也學到了不少東西,其中關於在Eclipse裡如何使用opencv的圖片處理api折騰了一陣子,記錄一下:1、Andro