0
因此,我想閱讀所有收件箱郵件並按月分組。android:通過月份獲取所有收件箱短信和羣組
通過下面的代碼,我可以得到所有的消息。我仍然將它與月份分組。
下面是我用來讓所有的短信代碼:
public List<Sms> getAllSms() {
List<Sms> lstSms = new ArrayList<Sms>();
Sms objSms = new Sms();
Uri message = Uri.parse("content://sms/");
ContentResolver cr = getContentResolver();
Cursor c = cr.query(message, null, null, null, null);
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")));
objSms.setTime(c.getString(c.getColumnIndexOrThrow("date")));
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;
}
短信類:
public class Sms {
private String _id;
private String _address;
private String _msg;
private String _readState; //"0" for have not read sms and "1" for have read sms
private String _time;
private String _folderName;
public String getId() {
return _id;
}
public String getAddress() {
return _address;
}
public String getMsg() {
return _msg;
}
public String getReadState() {
return _readState;
}
public String getTime() {
return _time;
}
public String getFolderName() {
return _folderName;
}
public void setId(String id) {
_id = id;
}
public void setAddress(String address) {
_address = address;
}
public void setMsg(String msg) {
_msg = msg;
}
public void setReadState(String readState) {
_readState = readState;
}
public void setTime(String time) {
_time = time;
}
public void setFolderName(String folderName) {
_folderName = folderName;
}
@Override
public String toString() {
return "Sms{" +
"_id='" + _id + '\'' +
", _address='" + _address + '\'' +
", _msg='" + _msg + '\'' +
", _readState='" + _readState + '\'' +
", _time='" + _time + '\'' +
", _folderName='" + _folderName + '\'' +
'}';
}
}
我要像,
月或1個月 - 15 SMS
2月或2個月 - 45短信 ...
謝謝。