如果 phone 号码为空,我已经设置了一个条件,记录它,否则发送它,但即使没有 phone 号码,条件也不会执行

i have put a condition if phone number is empty, log it else sent it but condition is not excuting even if there is no phone number

这是我发的短信activity请告诉我问题出在哪里即使没有号码else条件还在执行

public void sendMySMS() {
        Log.d(TAG, "sendMySMS: Activated");

        Intent i = getIntent();
        listOfAllMessages = i.getStringArrayListExtra("messages");
        listOfAllContacts = i.getStringArrayListExtra("contacts");
        size = listOfAllContacts.size();

        for (int j = 0; j < listOfAllContacts.size(); j++) {
            String phone = listOfAllContacts.get(j);
            String message = listOfAllMessages.get(j);

            if(phone.isEmpty()) {
                Log.d(TAG, "sendMySMS: " + phone);
                Log.d(TAG, "sendMySMS: " + message);
            }
            else {
                Log.d(TAG, "sendMySMS: " + phone);
                Log.d(TAG, "sendMySMS: " + message);
                SmsManager sms = SmsManager.getDefault();
                sendStatusTextView.setText("Sending Messages");

                PendingIntent sentIntent = PendingIntent.getBroadcast(SendingSms.this, 0, new Intent("SMS_SENT"), 0);
                sms.sendTextMessage(phone, null, message, sentIntent, null);
            }
        }

}

检查您的日志,确保 phone 变量的值不是 space 而不是空白或 nullisEmpty() returns 仅在 ""null.

的情况下为真

你需要尝试这样做!

public void sendMySMS() {
    Log.d(TAG, "sendMySMS: Activated");

    Intent i = getIntent();
    listOfAllMessages = i.getStringArrayListExtra("messages");
    listOfAllContacts = i.getStringArrayListExtra("contacts");
    size = listOfAllContacts.size();

    for (int j = 0; j < size.size(); j++) {
        String phone = listOfAllContacts.get(j);
        String message = listOfAllMessages.get(j);

        if(phone.isEmpty()) {
            Log.d(TAG, "sendMySMS: " + phone);
            Log.d(TAG, "sendMySMS: " + message);
        }
        else {
            Log.d(TAG, "sendMySMS: " + phone);
            Log.d(TAG, "sendMySMS: " + message);
            SmsManager sms = SmsManager.getDefault();
            sendStatusTextView.setText("Sending Messages");

            PendingIntent sentIntent = PendingIntent.getBroadcast(SendingSms.this, 0, new Intent("SMS_SENT"), 0);
            sms.sendTextMessage(phone, null, message, sentIntent, null);
        }
    }

}