我可以通过以下方式阅读Android中的短信: -
phonesms = new ArrayList<String>();
ContentResolver cr = getContentResolver();
Uri uriSMSURI = Uri.parse("content://sms/inbox");
Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,null);
startManagingCursor(cur);
if (cur.moveToFirst()) {
for (int i = 0; i < cur.getCount(); i++) {
try {
String smsbody = cur.getString(cur.getColumnIndexOrThrow("body")).toString();
phonesms.add(smsbody);
} catch (Exception e) {
}
现在问题是我想访问未读短信&amp;在一段时间内通过电子邮件自动发送未读短信。
我可以通过以下两种方法发送电子邮件短信: - 1.通过意图 2.Java Mail Api
但如何在固定时间段内通过电子邮件自动发送未读短信。
答案 0 :(得分:1)
要获取未读短信:
Cursor cur = getContentResolver().query(uriSMSURI, null, "read = 0", null, null);
答案 1 :(得分:0)
你可以使用cur.getString(cur.getColumnIndexOrThrow(“status”)来判断它是否被读取。或者你可以将它们包含在查询本身中,只过滤掉未读的消息。
while (cur.moveToNext()) {
String address = cur.getString(cur.getColumnIndex("address"));
String body = cur.getString(cur.getColumnIndexOrThrow("body"));
int status = cur.getString(cur.getColumnIndexOrThrow("status"));
if(status == SmsManager.STATUS_ON_ICC_UNREAD ) {
//do whatever you want
}
}