3

我想使用 android 意图发送电子邮件。除了选择电子邮件应用程序来发送电子邮件时,每件事都运行良好,在发送到字段中获取空值,虽然我检查空值但似乎我无法检测到字符串何时为空。谁能帮我解决这个问题。

if (emailAddress[0]!=null && !emailAddress[0].isEmpty()) {
                Intent intent = new Intent(Intent.ACTION_SEND);
                intent.setType("text/plain");
                intent.putExtra(Intent.EXTRA_EMAIL, emailAddress);
                intent.putExtra(Intent.EXTRA_SUBJECT,
                        getResources().getString(R.string.email_sub));
                // intent.putExtra(Intent.EXTRA_TEXT, "I'm email body.");

                startActivity(Intent.createChooser(intent, "Send Email"));
4

6 回答 6

2

尝试使用此语法检测 null 和空字符串

if(!TextUtils.isEmpty(emailAddress[0]))
于 2013-03-22T12:47:29.870 回答
2

使用equals()equalsingorecase()检查字符串;

String[]  emailAddress = new String[10]; 

          emailAddress[0]="asdfasdfasdfasdf";

          if (emailAddress[0]!=null && !emailAddress[0].isEmpty())
          {
              System.err.println("asddddddd  " +emailAddress[0] );
          }
于 2013-03-22T12:45:09.783 回答
0

字符串不能为空。AFAIK Intent.EXTRA_EMAIL 将字符串数组作为第二个参数。

尝试这个。

String[] addressArray = {"add1@mail.com", "a2@mail.com"};

//some lines...

intent.putExtra(Intent.EXTRA_EMAIL, addressArray);
于 2013-03-22T13:06:08.503 回答
0

您可以使用TextUtils.isEmpty(CharSequence str)方法来检测是否String为空或 null

于 2013-03-22T12:48:13.167 回答
0

TextUtils.isEmpty(charSequence char) 用于 null 字符串,如果它不起作用然后检查 if(emailAddress != null) 因为 emailAddress[0] 位置值为 null 那么你的数组也为 null。

于 2013-03-22T12:55:54.400 回答
0

它可能会帮助你..

您可以使用以下 2 中的任何

if (emailAddress[0].toString().equals(""))

或者

if (emailAddress[0].toString().length() > 0)
于 2013-03-22T12:57:00.707 回答