휴대 전화에 앱의 설치 디렉토리에 텍스트 파일을 직접 저장하는 Android 앱이 있습니다. 사용자가 새 이메일을 작성하고 저장된 텍스트 파일을 첨부 할 수있게해야합니다. 이메일을 보낼 의도가 생기면 모든 것이 Gmail에 올바르게 표시되지만 첨부 파일이 전송되지 않습니다. 스택 오버플로에 대한 내 검색은 모두 SD 카드에서 이미지 파일을 첨부하는 것으로 만 처리됩니다. 아래는 내가 사용한 코드입니다. 제가 잘못했는지 알려주세요.앱 디렉토리에 로컬로 저장된 텍스트 파일을 첨부하는 방법
File myFile = new File(getFilesDir() + "/" + "someFile.txt");
FileOutputStream stream = null;
if(file != null)
{
steam = openFileOutput("someFile.txt", Context.MODE_WORLD_READABLE);
stream.write(some_data);
Uri uri = Uri.fromFile(myFile);
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
sendIntent.putExtra(Intent.EXTRA_TEXT, email_text);
sendIntent.putExtra(Intent.EXTRA_STREAM, uri);
file.close();
startActivity(Intent.createChooser(sendIntent, "Email:"));
}
나는 sendIntent.setType ("application/octet-stream"); 그러나 그것은 차이를 만들지 않았습니다. 나는 왜 파일이 첨부되지 않고 보내지는지를 놓치고있다.
아이디어가 있으십니까?
음 ... 그게 유감입니다. 나는 이것을 시도해보고 효과가 있는지 알아 보겠습니다. 감사합니다 알. SD 카드가없는 경우 어떤 접근 방식을 취 했습니까? Intent 이메일의 EXTRA_TEXT 부분에 모든 파일 데이터를 첨부하기로 결정하셨습니까? – Michael
카드가없는 경우 "SD 카드 메시지가 필요합니다"라고 표시됩니다. 이상한 것은 아니지만 첨부 파일이 첨부 파일로 도착하지 않았다고 불평하는 사용자의 문제를 피하고 메일 클라이언트에서 파일 -> 저장하고 다른 응용 프로그램에서 가져올 수 없다는 불만과 관련된 문제는 피할 수 있습니다. 파일 (메일 헤더가 파일에 있기 때문에). –
다시 한번 감사드립니다. 파일을 SD 카드에 저장하도록 코드를 변경하면됩니다. – Michael