电子邮件匹配布尔逻辑Android

时间:2019-02-01 06:30:12

标签: java android boolean

我知道已经有一个工具可以检查Java中的网址。但是我不知道为什么这种逻辑不起作用。即使输入正确,警报消息也不会消失。谢谢。

@Override
public void onClick(View view) {
    if(checkInput()){
        String email = getResources().getString(R.string.email);
        Intent i = new Intent();
        i.setData(Uri.parse("mailto:"));
        startActivity(Intent.createChooser(i, "Send mail..."));
    }else{
        AlertDialog alert = new AlertDialog.Builder(getContext()).create();
        alert.setMessage(getResources().getString(R.string.valid_input));
        alert.show();
    }

}

public boolean checkInput(){

        return (uri.startsWith("http:")&&!uri.equals(""));
}

3 个答案:

答案 0 :(得分:0)

将支票从更改为

(uri.startsWith("http:")&&!uri.equals(""))

对此

(uri.startsWith("http"))

首先,url可以以httphttps开头,因此上面的检查不涉及第二种情况。 其次,如果startsWith已通过,则无需检查!uri.equals("")

答案 1 :(得分:0)

将return语句更改为

return (uri.startsWith("http")||uri.startsWith("https"))

那你很好。告诉我是否还有其他问题。

答案 2 :(得分:0)

在我的项目中,我这样使用:

    if (CheckInternetConection.isInternetConnection(SplashScreenActivity.this)) {
 Intent emailIntent = new Intent(Intent.ACTION_SEND);
                                    emailIntent.setType("vnd.android.cursor.dir/email");
                                    String to[] = {"bugfreeRam@gmail.com"};
                                    emailIntent.putExtra(Intent.EXTRA_EMAIL, to);
                                    emailIntent.putExtra(Intent.EXTRA_STREAM, path);
                                    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Database File");
                                    startActivity(Intent.createChooser(emailIntent, "Send email..."));
 } else {

                                    new SweetAlertDialog(SplashScreenActivity.this)
                                            .setTitleText("Alert!")
                                            .setContentText(getResources().getString(R.string.app_connection))
                                            .show();
                                }