如何附加文件并通过任何电子邮件应用程序发送,如gmail,yahoo,hotmail等

时间:2011-10-14 10:36:06

标签: android

这是我的代码..

import java.io.File;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class EMailActivity extends Activity 
{
    Button send;
    EditText address, subject, emailtext ,emailcc;
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.email_layout);
        send=(Button) findViewById(R.id.emailsendbutton);
        address=(EditText) findViewById(R.id.emailaddress);
        subject=(EditText) findViewById(R.id.emailsubject);
        emailtext=(EditText) findViewById(R.id.emailtext);
        emailcc=(EditText) findViewById(R.id.emailcc);

        Intent myintent = getIntent();
        String ReqPath = myintent.getStringExtra("filepath");
        File fileIn = new File(ReqPath);
        final Uri u = Uri.fromFile(fileIn);

        send.setOnClickListener(new OnClickListener() 
        {
            public void onClick(View v) 
            {
                // TODO Auto-generated method stub

                final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

                emailIntent.setType("plain/text");

                emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{ address.getText().toString()});

                emailIntent.putExtra(android.content.Intent.EXTRA_CC,  new String[]{emailcc.getText().toString()});

                emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject.getText());

                emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailtext.getText());

                emailIntent.putExtra(Intent.EXTRA_STREAM, u);

                EMailActivity.this.startActivity(Intent.createChooser(emailIntent, "Send mail..."));
                //finish();
            }
        });
    }

}

现在当我发送此信息时,通过发送按钮无应用程序像Gmail,雅虎等来。 请帮帮我

2 个答案:

答案 0 :(得分:1)

你应该:

emailIntent.setType("image/png");

答案 1 :(得分:0)

在开发此应用程序并在模拟器中对其进行测试时,这是不可能的,因为Intent.createChooser(emailIntent, "Send mail...")此行将显示带有listview的对话框内的所有可能的通信应用程序,所以在模拟器中有您的模拟器中没有安装此类应用程序,也没有任何应用程序可以发送您的电子邮件。

但如果您在真实设备中测试相同的代码(使用gmail / yahoo或任何其他通信媒体应用),那么它将正常工作。