确定电话号码是否在Android中有SMS消息



是否有办法告诉电话号码是否在Android中有SMS?

我想知道是否有办法使用SMS Content Porvider,我知道它没有记录和不建议使用,但是有办法告诉吗?

我尝试过的。

此语句将获得所有收件箱SMS

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"之类的情况下存储。是否有工作?

嗨,您可以使用以下代码来执行此操作,我在应用程序中使用此操作来收听传入SMS自动回复。

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
        }
    }

最新更新