Android 信息中URL地址識別問題

 

ATCID主要用來處理PC端傳輸過來的AT命令,從AT命令實際處理的地方來說,主要分為3類: 1. 需要Modem來處理的AT命令; 2. 需要在native層來處理的AT命令(在atcid內部處理和在其他module處理); 3. 需要在Java層來處理的AT命令。 針對這3類,需要在ATCID不同的地方來加入code實現。 在介紹如何客制化AT命令之前,先需要瞭解一下ATCID的架構,如下圖: 框架圖 上圖紅色方框內的表示瞭ATCID所包含的區域,其中: 1. tty連接的是PC端通過USB的設備文件; 2. dispatch module主要的功能是根據PC端發送過來的AT命令,看此AT命令是上述3類AT命令中的哪一類; 3. Atci_service用來處理Java層的AT命令; 4. Rild接收需要發送到Modem端處理的AT命令; 5. handler處理在atcid內部處理的AT命令(native層); 6. audio類似發送到其他module來處理的AT命令; 【AT客制化】 針對上述3類,需要在不同的地方來客制化: 1. 定制在atcid內部處理的AT命令(native層處理) 1). 在atcid_cust_cmd.c中編寫一個函數用來處理你的AT命令; 2). 將你的AT命令的字符串,命令類型和處理函數填充到表格custom_cmd_table中,這個表格在atcid_cust_cmd_process.h中; 2. 定制在其他module處理的AT命令(native層處理) 1). 將你的AT命令的字符串填充到表格generic_cmd_table中,這份表格在atcid_cmd_dispatch.h中定制 2). 編寫一個函數用來處理你的AT命令,將這個函數放在atci_service(native)目錄中合適的文件裡 3). 將你的AT命令的字符串,命令類型和處理函數填充到表格generic_cmd_table中,這份表格在atci_generic_cmd_table.h中定義 3. 定制在Java層處理的AT命令 1). 將你的AT命令填充到表格generic_cmd_table中,這份表格在atcid_cmd_dispatch.h中定義 2). 將你的AT命令和類型填充到表格mmi_cmd_table中,這份表格在atci_generic_cmd_table.h中定義 3). 在atciService.java中的initlizeAtparser函數裡面註冊你的CLASS用來處理AT命令 4. 如果是要定制在Modem處理的AT命令,那麼ATCID這邊並不需要做特別處理,隻要輸入的AT命令不適配ATCID這邊定義的類型,那麼就會將這條AT命令發送到Modem處理,那麼具體客制化實現AT命令功能的code就需要在Modem端進行編寫

 

發佈留言