【发布时间】:2014-03-18 04:09:18
【问题描述】:
我构建了一个 android SMS 应用程序,我想从我的 smsReceiver 接收短信,一切都会好起来的未读,它在图标上显示通知为未读 我不知道我如何将默认消息应用程序的状态更改为读取状态 true 我正在使用华为 G610 进行测试和 API 17 果冻豆
public static void markMessageRead(Context context, String number, String body) {
Uri uri = Uri.parse("content://sms/inbox");
Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
try {
while (cursor.moveToNext()) {
String address =(cursor.getString(cursor.getColumnIndex("address")));
int read = cursor.getInt(cursor.getColumnIndex("read"));
if (address.equals(number) && read== 0) {
if (cursor.getString(cursor.getColumnIndex("body")).startsWith(body)) {
String SmsMessageId = cursor.getString(cursor.getColumnIndex("_id"));
ContentValues values = new ContentValues();
values.put("read", 1);
int iii =context.getContentResolver().update(Uri.parse("content://sms/inbox"), values, "_id=" + SmsMessageId, null);
Log.i("update", iii+"");
return;
}
}
}
} catch(Exception e) {
Log.e("Mark Read", "Error in Read: "+e.toString());
}
}
【问题讨论】:
标签: android sms broadcastreceiver