0

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

我想知道是否有办法告诉使用 sms content porvider 我知道它没有记录并且不推荐使用但是有没有办法告诉?

我尝试过的。

此语句将获取所有收件箱短信

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”等的情况下存储。有解决办法吗?

4

1 回答 1

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

        }

    }
于 2012-12-29T11:28:04.150 回答