【Android架構Telephony篇】資料業務(1)總覽
阿新 • • 發佈:2019-02-02
Android: 6.0
Desktop: Ubuntu 15.04
更新:2017-04-27
Android裝置中完整的移動通訊系統構成:
(1)Hardware
這裡提到的無線通訊模組是一種支援TD-LTE/FDD-LTE/TD-SCDMA/WCDMA/EVDO/CDMA1X/GSM等等網路制式的通訊模組,能夠為使用者提供高速的無線資料、網際網路接入等業務,具備語音、分組資料、簡訊功能,彩信等功能。提供這些功能使用服務的就是聯通/移動/電信等運營商,通過SIM卡註冊到各自的網路中,付費使用。
(2)Kernel
核心中實現訪問無線通訊模組的資料通道,比如對於串列埠類模組就可以為/dev/ttyS0(/dev/ttyS1...),USB介面的為/dev/ttyUSB0(/dev/ttyUSB1 ...)等。
而要使用模組的網路功能,還必須實現網路功能的通訊協議,比如常見的PPP(Point-to-Point Protocol):
PPP is the protocol used for establishing internet links over dial-up modems, DSL connections, and many other types of point-to-point links. The
為直觀故,我們看下通過PPP建立網路連線的log:
最後一行返回status為0,說明網路建立成功。
同時,它也顯示了本地IP、遠端IP、DNS等網路資訊。在Android撥號過程中,用到的兩個重要檔案是/data/connect和/etc/ppp/ip-up。
這時可以adb shell進入系統,看下網路:
netcfg
或:
busybox ifconfig
(3)Framework
該層的Telephony子系統完成無線通訊模組所有功能的具體實現,同時為應用開發人員提供使用介面。
(4)App
作為App開發人員,呼叫Telephony的API,實現具體功能的App工使用者使用。
Android的Telephony子系統也是非常複雜的,涉及很多方面。我們以資料業務為分析入口,從上到下走一遍框圖中的流程。