編輯:Android開發實例
本文實例講述了Android4.X讀取SIM卡短信和聯系人相關類。分享給大家供大家參考,具體如下:
1. IccSmsInterfaceManager
這個類的主要作用有兩個
<1>通過 SMSDispatcher,發送短信數據
<2>更新和查詢SIM卡的短信數據
IccSmsInterfaceManager 是一個Binder 服務類,Binder接口是 ISms.
IccSmsInterfaceManager 被創造時 Binder服務會被注冊。
IccSmsInterfaceManager 在PhonProxy 中被創建,並且持有對應的PhoneBase 對象。
讀取SIM卡上的短信數據時,是通過 PhoneBase的IccFileHandler 去讀取的,IccFileHandler 調用 RIL 對象去向Modem 發命令,相關代碼如下:
fh.loadEFLinearFixedAll(IccConstants.EF_SMS, response);
向SIM卡保存短信數據時,是通過 PhoneBase 的RIL 對象去操作的,RIL對象向Modem 發命令。相關代碼如下:
if (PhoneConstants.PHONE_TYPE_GSM == mPhone.getPhoneType()) { mPhone.mCi.writeSmsToSim(status, IccUtils.bytesToHexString(smsc), IccUtils.bytesToHexString(pdu), response); } else { mPhone.mCi.writeSmsToRuim(status, IccUtils.bytesToHexString(pdu), response); }
2. IccPhoneBookInterfaceManagerProxy
這個類主要用於更新和查詢SIM卡上的聯系人數據.它是IccPhoneBookInterfaceManager的代理。IccPhoneBookInterfaceManager 是一個Binder服務。根據PhoneBase 的不同,IccPhoneBookInterfaceManager有兩個實現類,SimPhoneBookInterfaceManager 和 RuimPhoneBookInterfaceManager.IccPhoneBookInterfaceManager 在 PhoneBase 對象的創造過程中構造,他會持有一個PhoneBase對象。
IccPhoneBookInterfaceManagerProxy 在PhoneProxy 對象的創造過程中構造。IccPhoneBookInterfaceManagerProxy的創造過程中完成 Binder 服務 IccPhoneBookInterfaceManager的注冊,並且持有 IccPhoneBookInterfaceManager對象。
IccPhoneBookInterfaceManager持有一個 AdnRecordCache. 對象。這個對象來自於IccRecords 。IccRecords 來自於 PhoneBase 對象。PhoneBase 通過監聽 UiccController 的狀態來更新對應 SIM卡的IccRecords.
可以這麼理解,每次SIM卡狀態發生變化後,UiccController 首先通過UiccCardApplication 更新SIM卡的狀態以及更新從SIM卡裡讀取的數據。然後,再通知UiccController 的監聽者(PhoneBase,IccCardProxy),告訴他們SIM卡的相關數據已經發生了改變,他們可以更新這些數據(IccRecords)。
希望本文所述對大家Android程序設計有所幫助。
本文實例講述了Android編程之界面跳動提示動畫效果實現方法。分享給大家供大家參考,具體如下: 上一個效果圖: 先上布局: <RelativeLa
很多時候我們開發的軟件需要向用戶提供軟件參數設置功能,例如我們常用的QQ,用戶可以設置是否允許陌生人添加自己為好友。對於軟件配置參數的保存,如果是window軟件
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
今天模仿安卓QQ空間,效果如下: 打開程序的啟動畫面和導航頁面我就不做了,大家可以模仿微信的那個做一下,很簡單。這次主要做一下主頁面的實