如何在Android应用程序的后台检测出站短信?

5

如何在后台运行Android应用程序,以计算发送的短信数量,并确定每条短信的详细信息?

1个回答

2
你可以获取已发送的消息:
    Uri mSmsinboxQueryUri = Uri.parse("content://sms/sent");
    Cursor cursor1 = getContentResolver().query(mSmsinboxQueryUri,
                new String[] { "_id", "thread_id", "address", "person", "date",
                                "body", "type" }, null, null, null);
    startManagingCursor(cursor1);
    String[] columns = new String[] { "address", "person", "date", "body","type" };
    if (cursor1.getCount() > 0) {
        String count = Integer.toString(cursor1.getCount());
        Log.e("Count",count);
        while (cursor1.moveToNext()){
            String address = cursor1.getString(cursor1.getColumnIndex(columns[0]));
            String name = cursor1.getString(cursor1.getColumnIndex(columns[1]));
            String date = cursor1.getString(cursor1.getColumnIndex(columns[2]));
            String msg = cursor1.getString(cursor1.getColumnIndex(columns[3]));
            String type = cursor1.getString(cursor1.getColumnIndex(columns[4]));
        }
    }

您可以使用计数器来检索最近发送的短信。
其他有用的链接:
{{link1:Android:有没有办法监听发送的短信?}}
{{link2:在Android中监听发送的短信或已发送的邮件箱}}
{{link3:如何监听/订阅发送短信通知?}}

由于某种原因,content://sms/sent 对我不起作用,但 content://sms/ 可以。你认为这是为什么? - gonzobrains

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接