Trong các ứng dụng Android khác nhau, tôi sử dụng mã sau để hiển thị trình chọn ứng dụng cho email và sau khi người dùng quyết định một trong các ứng dụng, hãy chèn văn bản được xác định trước vào hình thức email:Mục đích email bỏ qua ngắt dòng trong văn bản được đặt trước (Android)
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { "[email protected]" });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Sample subject");
String contentStr = "";
for (Object o : mArrayList) { // mArrayList: ArrayList<Object>
content = contentStr+o.toString()+"\n";
}
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, backupStr);
startActivity(Intent.createChooser(emailIntent, "Choose application"));
Trong cho vòng lặp, đầu ra chuỗi các đối tượng được nối với chuỗi tạm thời 'contentStr'. Sau mỗi đối tượng, phải có ngắt dòng ("\ n").
Vì vậy, khi tôi kiểm tra mã này trên điện thoại của mình, nó hoạt động tốt và mọi đối tượng đều có dòng riêng.
Nhưng người dùng báo cáo rằng ứng dụng email của họ (tiêu chuẩn Android) đặt mọi thứ vào một dòng và bỏ qua các ngắt dòng.
Vậy tôi có làm gì sai không? Hoặc tôi có thể bỏ qua báo cáo lỗi này vì đây không phải là vấn đề mà nhà phát triển có thể giải quyết?
Bạn có thể thử 'text/plain' thay vì' plain/text'. Ngoài ra, bạn nên sử dụng 'StringBuilder' thay vì làm tất cả việc ghép nối đó. Tôi hoài nghi rằng, hoặc là sẽ giúp đỡ với vấn đề của bạn, mặc dù. – CommonsWare
Cảm ơn bạn! Nhưng xin vui lòng xem ý kiến của tôi dưới đây để xem một bất lợi của "văn bản/đồng bằng". – caw
như Marco W. đã chỉ ra, "message/rfc822" là loại mime chính xác cho các email – njzk2