android 发送邮件问题记录

文章标签: android
2015-1-8 9:16:15     人阅读    

 

开发第一个android邮件发送app,在点击发送按钮的时候 app崩溃,提示 app has stopped ,下面是报错的代码

package com.test;

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

public class Email extends Activity implements View.OnClickListener {

    EditText personsEmail, intro, personsName, stupidThings, hatefulAction,
            autro;
    String emailAdd, beginning, name, stupidAction, hatefulAct, out;
    Button sendEmail;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.email);
        initializeVars();
        sendEmail.setOnClickListener(this);

    }

    private void initializeVars() {
        // TODO Auto-generated method stub


        personsEmail = (EditText) findViewById(R.id.etEmails);
        intro = (EditText) findViewById(R.id.etIntro);
        personsName = (EditText) findViewById(R.id.etName);
        stupidThings = (EditText) findViewById(R.id.etStupidTHings);
        hatefulAction = (EditText) findViewById(R.id.ethatefulAction);
        autro = (EditText) findViewById(R.id.etAuto);

        sendEmail = (Button) findViewById(R.id.bSendEmail);

    }

    @Override
    public void onClick(View v) {
        //TODO Auto-generated method stub
        convertEditTextVarsToString();
        String emailaddress[] = {emailAdd};
        String message = "Well hello"
                +name
 
                +"I just wanted to say"
                +beginning
 
                +". Not only I hate when you"
                + stupidAction
 
                +", that just really makes me crazy. I just want to make you"
                +hatefulAct
 
                +". Welp, thats all I wanted to chit-chatter about, oh"
                +out
                +". Oh also if you get bored you should check out"
                +'\n'+"PS. I think I love you.......";


         Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
         emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, emailaddress);
         emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
         startActivity(emailIntent);

    }

    private void convertEditTextVarsToString() {
        // TODO Auto-generated method stub
        emailAdd = personsEmail.getText().toString();
        beginning = intro.getText().toString();
        name = personsName.getText().toString();
        stupidAction = stupidThings.getText().toString();
        hatefulAct = hatefulAction.getText().toString();
        out = autro.getText().toString();
    }

    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        finish();
    }

}

问题出在  下面这段代码。替换了之后就好了
使用

Intent emailIntent = new Intent(android.content.Intent.ACTION_SENDTO,Uri.fromParts("mailto", "", null));
     emailIntent.putExtra(Intent.EXTRA_EMAIL, emailaddress);
     emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
     emailIntent.putExtra(Intent.EXTRA_TEXT,message);
     startActivity(emailIntent);


代替

     Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
     emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, emailaddress);
     emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
     startActivity(emailIntent);


主要是邮件发送的 Intent 一些参数设置的不正确导致的,需要设置 Uri.fromParts("mailto", "", null) 参数,传递的值也需要设置
     emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");


原文地址:http://www.itmmd.com/201501/457.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android学习笔记(38)使用ProgressDialog创建进皮对话框   上一篇
下一篇  在 android dialog中使用Autocompletetext
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!