Java 如何根据存储在内部数据库中的号码获取sms

Java 如何根据存储在内部数据库中的号码获取sms,java,android,for-loop,Java,Android,For Loop,我有一个小问题。如何获取存储在内部数据库中的特定手机号码的短信。?这是下面的代码,我尝试过,但我只能得到一个号码 for (Contact_pojo contpojo: smslist) { while (cur.moveToNext()) { SMS_Adapter sms_adapter = new SMS_Adapter(); if (cur.getString(cur.getColumnIndexOrThrow("addre

我有一个小问题。如何获取存储在内部数据库中的特定手机号码的短信。?这是下面的代码,我尝试过,但我只能得到一个号码

for (Contact_pojo contpojo: smslist) {
        while (cur.moveToNext()) {
            SMS_Adapter sms_adapter = new SMS_Adapter();
            if (cur.getString(cur.getColumnIndexOrThrow("address")).equals("+91"+contpojo.getContactnumber())){
                sms_adapter.setSmsname(cur.getString(cur.getColumnIndexOrThrow("address")));
                sms_adapter.setSmsaddress(cur.getString(cur.getColumnIndexOrThrow("body")));
                smsadapter.add(sms_adapter);
            }
        }
    }
试试这个

SMS_Adapter sms_adapter = new SMS_Adapter();
for (Contact_pojo contpojo: smslist) {
        while (cur.moveToNext()) {
            if (cur.getString(cur.getColumnIndexOrThrow("address")).contains("+91"+contpojo.getContactnumber())){
                sms_adapter.setSmsname(cur.getString(cur.getColumnIndexOrThrow("address")));
                sms_adapter.setSmsaddress(cur.getString(cur.getColumnIndexOrThrow("body")));
                smsadapter.add(sms_adapter);
            }
        }
    }
您可以使用
contains
方法而不是
equals

尝试此方法

SMS_Adapter sms_adapter = new SMS_Adapter();
for (Contact_pojo contpojo: smslist) {
        while (cur.moveToNext()) {
            if (cur.getString(cur.getColumnIndexOrThrow("address")).contains("+91"+contpojo.getContactnumber())){
                sms_adapter.setSmsname(cur.getString(cur.getColumnIndexOrThrow("address")));
                sms_adapter.setSmsaddress(cur.getString(cur.getColumnIndexOrThrow("body")));
                smsadapter.add(sms_adapter);
            }
        }
    }

您可以使用
contains
方法而不是
equals

没有更改我只得到第一个更改这里没有更改我只得到第一个