2017-07-05 59 views
0

我想轉儲短信到文本文件,但它只能讀取從當前日期1開始到當前日期的當前月消息。我怎樣才能讀取所有的短信,而不需要將應用程序設置爲默認或類似的東西?閱讀短信只顯示當前的月份短信

public List<Sms> getAllSms() { 
    List<Sms> lstSms = new ArrayList<Sms>(); 
    Sms objSms = new Sms(); 
    Uri message = Uri.parse("content://sms/"); 
    ContentResolver cr = this.getContentResolver(); 

    Cursor c = cr.query(message, null, null, null, null); 
    this.startManagingCursor(c); 
    int totalSMS = c.getCount(); 

    if (c.moveToFirst()) { 
     for (int i = 0; i < totalSMS; i++) { 

      objSms = new Sms(); 
      objSms.setId(c.getString(c.getColumnIndexOrThrow("_id"))); 
      objSms.setAddress(c.getString(c 
              .getColumnIndexOrThrow("address"))); 
      objSms.setMsg(c.getString(c.getColumnIndexOrThrow("body"))); 
      objSms.setReadState(c.getString(c.getColumnIndex("read"))); 
      String date = c.getString(c.getColumnIndexOrThrow("date")); 
      Long timestamp = Long.parseLong(date);  
      Calendar calendar = Calendar.getInstance(); 
      calendar.setTimeInMillis(timestamp); 
      Date finaldate = calendar.getTime(); 
      objSms.setTime(finaldate.toString()); 
      if (c.getString(c.getColumnIndexOrThrow("type")).contains("1")) { 
       objSms.setFolderName("inbox"); 
      } else { 
       objSms.setFolderName("sent"); 
      } 

      lstSms.add(objSms); 
      c.moveToNext(); 
     } 
    } 
    // else { 
    // throw new RuntimeException("You have no SMS"); 
    // } 
    c.close(); 

    return lstSms; 
} 

回答

0

讀取收件箱和發seperately解決了我的問題