編輯:關於android開發
網上說的方法是修改/system/framework/framework.odex文件,找9a13040b,改為9a130408。
方法是沒錯,不過原理沒說清楚。
其實問題是出在 framework/base/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java:
- public static SubmitPdu getSubmitPdu(String scAddress,
- String destinationAddress, String message,
- boolean statusReportRequested, byte[] header, int encoding) {
- // ...
- if (encoding == ENCODING_7BIT) {
- // ...
- } else {
- // ...
- // TP-Data-Coding-Scheme
- // Class 3, UCS-2 encoding, uncompressed
- bo.write(0x0b);
- }
- // ...
- }
Framework 裡面有兩個 SmsMessage 類,一個在 gsm 包下面,一個在 cdma 包下面。在移動和聯通的網絡下,自然就是調用 gsm 包下面的 SmsMessage 類了,它在創建 SMS PDU 的時候,代碼如上,其中指定 TP-DCS 的時候,0x0b 也就是 0x00001011,末尾兩位 11 的意思是消息類型是 Class 3 (這裡可以查 TP-DCS 定義 )
9a13040b 改成 9a130408,其實就是把 bo.write(0x0b) 改成了 bo.write(0x08),0x08 也就是 0x00001000,消息類型就是 Class 0 了。至於電信為啥要求短信的消息類型是 Class 0,這個要請專業人士解答了。
詳細Android Studio + NDK范例 【本范例所采用的配置】 ·系統:Windows7旗艦版,Service Pack 1,32位(最新的NDK已不支
Android編程: 界面組成、事件監聽器,android監聽器學習知識:界面組成、事件監聽器 ====界面組成==== 1.用戶界面的基本組件叫做View,都是繼承an
Android筆記——Android中數據的存儲方式(二),android筆記 我們在實際開發中,有的時候需要儲存或者備份比較復雜的數據。這些數據的特點是,內容多、結構
硅谷社交6--添加聯系人--發送添加好友邀請,硅谷6-- 1.查找按鈕的處理 // 去服務器判斷當前查找的用戶是否存在 userInfo = new UserInfo(