确定电话号码是否在android中有短信

时间:2012-12-29 10:51:11

标签: android sms

有没有办法判断一个电话号码在android中是否有短信?

我想知道是否有办法告诉使用短信内容提供者我知道它没有记录并且不建议使用但是有没有办法告诉?

我试过的是什么。

此声明将获取所有收件箱短信

cursor = getContentResolver().query(
                            Uri.parse("content://sms/inbox"), null, null, null,
                            null);

我不能像这样使用where子句

cursor = getContentResolver().query(
                            Uri.parse("content://sms/inbox"), "address =?", new String[]{"001435436654747"}, null,
                            null);

因为可以在没有全局代码“001”等的情况下存储该号码。 有没有解决这个问题?

1 个答案:

答案 0 :(得分:1)

您好,您可以使用下面的代码来执行此操作,我在我的应用程序中使用它来监听传入的短信自动回复。

Uri myMessage = Uri.parse("content://sms/");
    ContentResolver cr = getContentResolver();
    Cursor c = cr.query(myMessage, new String[] {
            "_id", "address", "date", "body",
            "read" }, null, null, null);   

    System.out.println(Number);

    while (c.moveToNext()) {
       Number = c.getString(c.getColumnIndexOrThrow("address")).toString();

        if (Number.equals("001435436654747")) {

            // DO YOUR STUFF

        }

    }
相关问题