私は自分のアプリ内でフィードバック機能を使用しています。ギャラリーから画像を選択し、メッセージを入力して送信ボタンを押すとコードが送信されます私は "空のファイルを添付することはできません"トーストメッセージを得るまで、すべてがうまく動作するように見える、これは私がどのくらい遠いですか(これは、下の図)ボックスからテキストを取得し、電子メールの意図に添付して全体を送信するコードAndroid - 画像を電子メールに添付
String rating = String.valueOf(RateBar.getRating());
String subject = Feedback.getText().toString();
String FileLocation = FilePathPreview.getText().toString();
String to ="[email protected]";
String message = UserInput.getText().toString();
String body = "Rating : "+rating+" out of 5"+
"\n "+message;
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{to});
email.putExtra(Intent.EXTRA_SUBJECT, subject);
email.putExtra(Intent.EXTRA_TEXT, body);
email.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/"+FileLocation));
//need this to prompts email client only
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Choose an Email client :"));
public void grabImg(){
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,
"Select Picture"), SELECT_PICTURE);
}
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
if(resultCode == RESULT_OK){
Uri selectedImage = imageReturnedIntent.getData();
String PathP = selectedImage.getPath().toString();
FilePathPreview.setText(PathP);
}
}
になりました
'file:/'はあなたのコードを壊していると思います。それを取り除くことを試みなさい。 – theFunkyEngineer
'Uri'のスキームが' file'でない限り、 'String PathP = selectedImage.getPath()。toString();'は役に立ちません。また、 'ACTION_SEND'は*' EXTRA_TEXT' *または* 'EXTRA_STREAM'のいずれかをサポートしていることに注意してください。 – CommonsWare
'String FileLocation = FilePathPreview.getText()。toString();'あなたは何を言っていませんでした。あなたはもちろんそうです。 – greenapps