0

そのタイマー期間中に送信されたSMSとMMSの数を定期的にチェックする必要があるプロジェクトを作成しています。たとえば、過去15分間に送信されたSMS/MMSの数。

私はこの投稿を見ました:SMSコンテンツプロバイダーの使い方は?ドキュメントはどこにありますか?また、Mark Murphy(CommonsWare)は、文書化されていないため、SMSコンテンツプロバイダーを使用しないことに言及しています。

上記に照らして、私は自分の目標を達成するために何ができるでしょうか?

@CommonsWareコメントをお願いします。

4

1 に答える 1

0

これのリファクタリングされたバージョンを使用して、必要なものを取得できると思います。

サンプル:

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 は完全に間違っている可能性がありますが、このようなものは機能するはずです。

于 2012-10-30T20:20:31.333 に答える