我在我的Android应用中制作了反馈表单。
我想要的是,我希望将所有填写在该表单中的文字(promiseB = promiseA.then(function(result) {
if (result==0) {
return false;
}
// Indeed I don't understand how this result + 1 is gonna be used...
return result + 1;
});
)发送到我的电子邮件地址,而无需打开任何其他应用程序。
我无法弄清楚如何做到这一点,但后来我想到了一个方法,这就是我到目前为止所做的:
editText
我首先捕获了EditText etUserLikeResponse = (EditText) findViewById(R.id.user_like_response);
EditText etUserDontLikeResponse = (EditText) findViewById(R.id.user_dont_like_response);
EditText etUserOtherFeaturesResponse = (EditText) findViewById(R.id.user_other_features_response);
String etUserLikeResponseText = etUserLikeResponse.getText().toString();
String etUserDontLikeResponseText = etUserDontLikeResponse.getText().toString();
String etUserOtherFeaturesResponseText = etUserOtherFeaturesResponse.getText().toString();
Uri etUserLikeResponseTextUri = Uri.parse(etUserLikeResponseText);
Uri etUserDontLikeResponseTextUri = Uri.parse(etUserDontLikeResponseText);
Uri etUserOtherFeaturesResponseTextUri = Uri.parse(etUserOtherFeaturesResponseText);
final ArrayList<Uri> userResponseUri = new ArrayList<>();
userResponseUri.add(etUserLikeResponseTextUri);
userResponseUri.add(etUserDontLikeResponseTextUri);
userResponseUri.add(etUserOtherFeaturesResponseTextUri);
Button btnSendFeedback = (Button) findViewById(R.id.btn_send_feedback);
btnSendFeedback.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final Handler handler2 = new Handler();
handler2.postDelayed(new Runnable() {
@Override
public void run() {
Intent userFeedbackIntent = new Intent();
userFeedbackIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
userFeedbackIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, userResponseUri);
userFeedbackIntent.setType("message/rfc822");
userFeedbackIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"abc.xyz321ba@gmail.com"});
startActivity(userFeedbackIntent);
}
}, 200);
}
});
&amp;然后转换为EditText
以执行与此处相同的操作:http://developer.android.com/training/sharing/send.html
我现在遇到的问题是,当我点击Uri
并选择Gmail时,它会说&#39; 无法附加文件&#39;
由于我是初学者,我无法弄清楚我做错了什么。
请让我知道&amp;如果有另一种好方法可以完成这项任务,请告诉我们。
抱歉格式不正确。
感谢。
答案 0 :(得分:0)
好的,好像你正在使用涉及'文件'的respond_to do |format|
format.html
format.csv
end
,而你没有任何文件,不是吗? (查看此答案:Android: Intent.ACTION_SEND with EXTRA_STREAM doesn't attach any image when choosing Gmail app on htc Hero),这样您就可以创建一个txt文件,然后尝试将其附加到您的电子邮件中。
其他选项可以只填充您要发送的数据的电子邮件正文(请检查:Send Email Intent)。
<小时/> 更新:如果您要发送包含电子邮件正文中数据的电子邮件,请参阅Developer.android.com: Email intent
如果你想在procces中避免使用其他应用程序,你可以检查这个答案: Sending email in android using javamail api without using the default built in app