文章目錄
android的sms結構和主要欄位如下:
其他代碼
- _id // 短訊息序號
- thread_id // 對話的序號(conversation)
- address // 收件者
- person // 寄件者
- date // 日期
- protocol // 協議
- read // 是否閱讀
- status // 狀態
- type // 類型
- reply_path_present //
- subject // 主題
- body // 短訊息內容
- service_center // 服務中心
_id // 短訊息序號thread_id // 對話的序號(conversation)address // 收件者person // 寄件者date // 日期protocol // 協議read // 是否閱讀status // 狀態type // 類型reply_path_present // subject // 主題body // 短訊息內容service_center // 服務中心
2 擷取機器中的短訊息
見代碼,比較簡單:
Java代碼
- sms = new ArrayList<Map<String, Object>>();
- Cursor c = getContentResolver().query(uriSms, null, null, null,
- null);
- while (c.moveToNext()) {
- try {
- item = new HashMap<String, Object>();
-
- // Read the contents of the SMS;
- for (int i = 0; i < c.getColumnCount(); i++) {
- String strColumnName = c.getColumnName(i);
- String strColumnValue = c.getString(i);
-
- item.put(strColumnName, strColumnValue);
- }
- } catch (Exception e) {
- Log.w("Exception:", e.getMessage());
- }
- sms.add(item);
sms = new ArrayList<Map<String, Object>>();Cursor c = getContentResolver().query(uriSms, null, null, null,null);while (c.moveToNext()) {try {item = new HashMap<String, Object>();// Read the contents of the SMS;for (int i = 0; i < c.getColumnCount(); i++) {String strColumnName = c.getColumnName(i);String strColumnValue = c.getString(i);item.put(strColumnName, strColumnValue);}} catch (Exception e) {Log.w("Exception:", e.getMessage());}sms.add(item);
3 總結3.1 短訊息
android中短訊息欄位比較多,但不是每個欄位都是必填,根據自己實際開發需要。
3.2 發送和接收
3.2.1 發送短訊息
發送短訊息比較簡單,API直接就有send方法。需要注意的是:短訊息長度的控制,發送狀態的擷取。
3.2.2 接收短訊息
主要思想是註冊成為服務,並進行監聽接收到新短訊息時的系統通知,然後進行後續操作。網上代碼很多,不多論述。