【发布时间】:2011-05-19 13:40:47
【问题描述】:
在我的应用程序中,我只需要读取来自一个数字的短信,当我收到它时,我需要将其设置为自动读取,而不是在短信安卓应用程序中设置它,而是从我的应用程序中设置。我能怎么做? 谢谢!
【问题讨论】:
在我的应用程序中,我只需要读取来自一个数字的短信,当我收到它时,我需要将其设置为自动读取,而不是在短信安卓应用程序中设置它,而是从我的应用程序中设置。我能怎么做? 谢谢!
【问题讨论】:
让我更新一下:
ContentValues values = new ContentValues();
values.put("read",true);
getContentResolver().update(Uri.parse("content://sms/"),values, "_id="+SmsMessageId, null);
SmsMessageId 是消息的_id,您可以在 SMS 数据库中找到。
【讨论】:
一个简短的例子:
Uri uri = Uri.parse("content://sms/inbox");
Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
while (cursor.moveToNext()) {
// Retrieve sms
// see column "address" for comparing
// Then update the sms and set the column "read" to 1
}
【讨论】:
while (cursor.moveToNext() && !stato) { String asd = new String(cursor.getBlob(cursor.getColumnIndex("read"))); Toast.makeText(context, asd, Toast.LENGTH_SHORT).show(); } 如果我在 getColumnIndex 中设置地址没有问题,但如果我设置读取或其他列名,它就不起作用。为什么?谢谢!