Intent对象不起作用

Ada*_*dam 0 android menu android-intent

我建了一个选项菜单.其中一个处理发送电子邮件的按钮无效.

以下是方法:

public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main_page, menu);
        return true;
    }

public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.settings: Toast.makeText(this, "You pressed the settings!", Toast.LENGTH_LONG).show();
                                break;
            case R.id.exit:     System.exit(0); //close the program + kill it from memory
                                break;
            case R.id.contactUs:sendEmail();
                                break;
        }
        return true;
    }

private void sendEmail(){
        Intent mailIntent = new Intent();
        mailIntent.setAction(Intent.ACTION_SEND);
        mailIntent.setType("text/plain");
        mailIntent.putExtra(mailIntent.EXTRA_EMAIL, new String[]{"some_email@gmail.com"});
        mailIntent.putExtra(mailIntent.EXTRA_SUBJECT,"Re:Your Application");
    }
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我点击的任何项目(contactUs项目除外)都在工作.当我点击contactUs项目时,它会关闭菜单栏并且什么都不做......

需要帮忙.

编辑:

我改变了以下内容:

private void sendEmail(){
    Intent mailIntent = new Intent();
    mailIntent.setAction(Intent.ACTION_SEND);
    mailIntent.setType("text/plain");
    mailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"some_email@gmail.com"});
    mailIntent.putExtra(Intent.EXTRA_SUBJECT,"Re:Your Application");
    startActivity(Intent.createChooser(mailIntent, "some_email@gmail.com"));
}
Run Code Online (Sandbox Code Playgroud)

字段仍然没有自动填充..

Mys*_*icϡ 5

你必须打电话

startActivity(Intent.createChooser(mailIntent, "Choose an Email client :"));
Run Code Online (Sandbox Code Playgroud)

编辑:

改变这些行

mailIntent.putExtra(mailIntent.EXTRA_EMAIL, new String[]{"some_email@gmail.com"});
mailIntent.putExtra(mailIntent.EXTRA_SUBJECT,"Re:Your Application");
Run Code Online (Sandbox Code Playgroud)

mailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"some_email@gmail.com"});
mailIntent.putExtra(Intent.EXTRA_SUBJECT,"Re:Your Application");
Run Code Online (Sandbox Code Playgroud)

编辑:

完整方法应如下所示:

private void sendEmail(){
    Intent mailIntent = new Intent();
    mailIntent.setAction(Intent.ACTION_SEND);
    mailIntent.setType("text/plain");
    mailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"some_email@gmail.com"});
    mailIntent.putExtra(Intent.EXTRA_SUBJECT,"Re:Your Application");
    startActivity(Intent.createChooser(mailIntent, "Choose an Email client:"));
}
Run Code Online (Sandbox Code Playgroud)