我正在创建一个项目,我必须定期检查在该计时器期间发送的 SMS 和 MMS 的数量。例如,最近 15 分钟内发送的 SMS/MMS 的数量。
我看过这个帖子:如何使用短信内容提供者?文档在哪里?Mark Murphy (CommonsWare) 曾提到不要使用 SMS 内容提供程序,因为它没有记录。
鉴于上述情况,我可以做些什么来实现我的目标?
@CommonsWare 你能评论一下吗?
我正在创建一个项目,我必须定期检查在该计时器期间发送的 SMS 和 MMS 的数量。例如,最近 15 分钟内发送的 SMS/MMS 的数量。
我看过这个帖子:如何使用短信内容提供者?文档在哪里?Mark Murphy (CommonsWare) 曾提到不要使用 SMS 内容提供程序,因为它没有记录。
鉴于上述情况,我可以做些什么来实现我的目标?
@CommonsWare 你能评论一下吗?
我认为你可以使用它的重构版本来获得你需要的东西。
样本:
private int deleteMessage(Context context, SmsMessage msg) {
Uri deleteUri = Uri.parse("content://sms");
int count = 0;
Cursor c = context.getContentResolver().query(deleteUri, null, null,
null, null);
while (c.moveToNext()) {
try {
// Delete the SMS
String pid = c.getString(0); // Get id;
String uri = "content://sms/" + pid;
count = context.getContentResolver().query(Uri.parse(uri),
null,
"date('sentDate') - date('%M', '15') > date('now')",
null,
null);
} catch (Exception e) {
}
}
return count;
}
SQL 可能完全错误,但这样的事情应该可以工作。