在Android中计算传出的短信/彩信

时间:2012-10-30 20:08:26

标签: android broadcastreceiver android-contentprovider

我正在创建一个项目,我必须定期检查该计时器期间发送的短信和彩信的数量。例如,过去15分钟内发送的短信/彩信数量。

我已经看到这个post: How to use SMS content provider? Where are the docs?和Mark Murphy(CommonsWare)提到不使用SMS内容提供商,因为它没有记录。

鉴于上述情况,我可以做些什么来实现我的目标?

@CommonsWare你能评论吗?

1 个答案:

答案 0 :(得分:0)

我认为你可以使用a refactored version of this来获得你需要的东西。

示例:

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可能完全错误,但这样的事情应该有效。