Android4.X讀取SIM卡短信和聯(lián)系人相關(guān)類實例分析
本文實例講述了Android4.X讀取SIM卡短信和聯(lián)系人相關(guān)類。分享給大家供大家參考,具體如下:
1. IccSmsInterfaceManager
這個類的主要作用有兩個
<1>通過 SMSDispatcher,發(fā)送短信數(shù)據(jù)
<2>更新和查詢SIM卡的短信數(shù)據(jù)
IccSmsInterfaceManager 是一個Binder 服務(wù)類,Binder接口是 ISms.
IccSmsInterfaceManager 被創(chuàng)造時 Binder服務(wù)會被注冊。
IccSmsInterfaceManager 在PhonProxy 中被創(chuàng)建,并且持有對應(yīng)的PhoneBase 對象。
讀取SIM卡上的短信數(shù)據(jù)時,是通過 PhoneBase的IccFileHandler 去讀取的,IccFileHandler 調(diào)用 RIL 對象去向Modem 發(fā)命令,相關(guān)代碼如下:
fh.loadEFLinearFixedAll(IccConstants.EF_SMS, response);
向SIM卡保存短信數(shù)據(jù)時,是通過 PhoneBase 的RIL 對象去操作的,RIL對象向Modem 發(fā)命令。相關(guān)代碼如下:
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卡上的聯(lián)系人數(shù)據(jù).它是IccPhoneBookInterfaceManager的代理。IccPhoneBookInterfaceManager 是一個Binder服務(wù)。根據(jù)PhoneBase 的不同,IccPhoneBookInterfaceManager有兩個實現(xiàn)類,SimPhoneBookInterfaceManager 和 RuimPhoneBookInterfaceManager.IccPhoneBookInterfaceManager 在 PhoneBase 對象的創(chuàng)造過程中構(gòu)造,他會持有一個PhoneBase對象。
IccPhoneBookInterfaceManagerProxy 在PhoneProxy 對象的創(chuàng)造過程中構(gòu)造。IccPhoneBookInterfaceManagerProxy的創(chuàng)造過程中完成 Binder 服務(wù) IccPhoneBookInterfaceManager的注冊,并且持有 IccPhoneBookInterfaceManager對象。
IccPhoneBookInterfaceManager持有一個 AdnRecordCache. 對象。這個對象來自于IccRecords 。IccRecords 來自于 PhoneBase 對象。PhoneBase 通過監(jiān)聽 UiccController 的狀態(tài)來更新對應(yīng) SIM卡的IccRecords.
可以這么理解,每次SIM卡狀態(tài)發(fā)生變化后,UiccController 首先通過UiccCardApplication 更新SIM卡的狀態(tài)以及更新從SIM卡里讀取的數(shù)據(jù)。然后,再通知UiccController 的監(jiān)聽者(PhoneBase,IccCardProxy),告訴他們SIM卡的相關(guān)數(shù)據(jù)已經(jīng)發(fā)生了改變,他們可以更新這些數(shù)據(jù)(IccRecords)。
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Android編程中調(diào)用Camera時預(yù)覽畫面有旋轉(zhuǎn)問題的解決方法
這篇文章主要介紹了Android編程中調(diào)用Camera時預(yù)覽畫面有旋轉(zhuǎn)問題的解決方法,涉及Android針對Camera調(diào)用攝像頭源碼部分的相關(guān)修改技巧,需要的朋友可以參考下2015-11-11Android 廣播監(jiān)聽網(wǎng)絡(luò)狀態(tài)詳解及實例代碼
這篇文章主要介紹了Android 廣播監(jiān)聽網(wǎng)絡(luò)狀態(tài)詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02Android 應(yīng)用啟動歡迎界面廣告的實現(xiàn)實例
這篇文章主要介紹了Android 應(yīng)用啟動歡迎界面廣告的相關(guān)資料,需要的朋友可以參考下2017-05-05