android sim 卡簡訊讀寫

來源:互聯網
上載者:User

標籤:android   api   java   icc   sim   

        由於對簡訊讀寫操作的api 被隱藏了 , 我們需要使用《Java反射機制的學習》一文中提到的反射的方法得到隱藏API 。這有一個用例大家可以下載http://zhushou.360.cn/detail/index/soft_id/1608427

查看效果

android寫sim卡簡訊

/*** * 1)byte[] smsc : 簡訊服務中心的地址,個人認為在複製到SIM卡過程中可以為空白。      * 2)byte[] pdu : 中文翻譯是協議資料單元,這個參數最為重要,一會我們會做詳細地解釋說明。      * 3)int status : 簡訊儲存在Icc卡上的狀態,有4種狀態,1是已讀,3是未讀,5是已發送,7是未發送。  * @param smsc * @param pdu * @param status */public boolean writeSMStoIcc(byte[] smsc,byte[] pdu,int status){//mKeyboardHelper = new ReflectionInternal(this,"android.telephony.SmsManager");//調用類,聲明類,mKeyboardView,mPasswordEntry,為需要傳遞的參數//mKeyboardHelper.setInt("copyMessageToIcc", 0);boolean flag = false;SmsManager newSmsManager = SmsManager.getDefault();try {Class smsManagerClass = Class.forName("android.telephony.SmsManager");Method localMethod = smsManagerClass.getMethod("copyMessageToIcc",new Class[]{byte[].class,byte[].class,Integer.TYPE});Object[] arrayList = new Object[3];arrayList[0] = smsc;arrayList[1] = pdu;arrayList[2] = status;try {flag = ((Boolean)localMethod.invoke(newSmsManager, arrayList)).booleanValue();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalArgumentException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InvocationTargetException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (NoSuchMethodException e) {// TODO Auto-generated catch blockLog.e("NoSuchMethodException","NoSuchMethodException :"+ e.getMessage());e.printStackTrace();} catch (ClassNotFoundException ex) {// TODO Auto-generated catch blockLog.e("ClassNotFoundException","ClassNotFoundException :"+ ex.getMessage());ex.printStackTrace();}return flag;}

android 讀sim卡簡訊

public ArrayList<SmsMessage> getSmsList(){ArrayList<SmsMessage> list = new ArrayList<SmsMessage>();SmsManager newSmsManager = SmsManager.getDefault();try {Class<?> smsManagerClass = Class.forName("android.telephony.SmsManager");Method localMethod = smsManagerClass.getMethod("getAllMessagesFromIcc",null);try {list = (ArrayList<SmsMessage>)localMethod.invoke(newSmsManager, null);} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalArgumentException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InvocationTargetException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (NoSuchMethodException e) {// TODO Auto-generated catch blockLog.e("NoSuchMethodException","NoSuchMethodException :"+ e.getMessage());e.printStackTrace();} catch (ClassNotFoundException ex) {// TODO Auto-generated catch blockLog.e("ClassNotFoundException","ClassNotFoundException :"+ ex.getMessage());ex.printStackTrace();}return list;}


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.