2009-08-17 33 views
7

Tôi biết một biến thể của câu hỏi này được hỏi trước trying-to-attach-a-file-from-sd-card-to-email Nhưng giải pháp được cung cấp, tức là khởi động lại dường như không làm điều đó cho tôi. Tôi đã thấy một số lượng lớn các bài đăng nhóm hỗ trợ vấn đề này. Tôi chỉ có thể giả định OP cho câu hỏi được liên kết với một số thay đổi khác, có thể với tệp kê khai cho phép mã của anh ấy hoạt động.Android Gửi Intent đính kèm ảnh từ sdcard dưới dạng 0 độ dài

Hành vi tôi thấy là mục đích Email xử lý tệp đính kèm của jpeg từ sdcard nhưng xử lý với tệp đó dưới dạng tệp có độ dài 0 bị hủy khi được gửi. Tôi đã thử setType như jpeg/hình ảnh và hình ảnh/jpeg như tôi đã thấy nó thể hiện cả hai cách.

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
    sendIntent.setType("jpeg/image"); 
    sendIntent.putExtra(Intent.EXTRA_EMAIL, "[email protected]"); 
    sendIntent.putExtra(Intent.EXTRA_SUBJECT, R.string.email_subjectStart + 
      mWhatYouSpotted.getSelectedItem().toString() + 
      R.string.email_subjectEnd); 
    sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/"+ sPhotoFileName)); 
    sendIntent.putExtra(Intent.EXTRA_TEXT, sEmailBody); 

    startActivity(Intent.createChooser(sendIntent, "Email:")); 

Đây là logcat adb tôi khi tôi kiểm tra lần cuối:

V/DumbDumpersMain (3972): sPhotoUri = file: //sdcard/DumbDumpers/DumbDumper.jpg I/ActivityManager (56): Bắt đầu hoạt động: Intent {action = android.intent.action.CHOOSER comp = {android/com.android.internal.app.ChooserActivity} (có tính năng bổ sung)} I/ActivityManager (56): Bắt đầu hoạt động: Intent {action = android.intent.action.SEND type = jpeg/hình ảnh cờ = 0x3000000 comp = {com.google.android.gm/com.google.android.gm.ComposeActivityGmail} (có phần bổ sung)} I/ActivityManager (56): Bắt đầu hoạt động : Intent {action = android.intent.action.SEND type = jpeg/hình ảnh cờ = 0x28 00000 comp = {com.google.android.gm/com.google.android.gm.ComposeActivity} (có phần bổ sung)} D/gmail-ls (120): MailProvider.query: content: // gmail-ls/labels/[email protected] (null, null) D/Gmail (2507): URI FOUND: file: //sdcard/DumbDumpers/DumbDumper.jpg

Tôi đã đập đầu vào cái này trong hơn một tuần bây giờ và vẫn không thể xác định những gì là sai. Bất kỳ ý tưởng?

Trả lời

7

Nên thực hiện thêm tìm kiếm ở đây trước khi đăng; problem sending an email with an attachment programmatically giải quyết nó cho tôi. Tôi chỉ có file://sdcard/DumbDumpers/DumbDumper.jpg, trông rất khó chịu giống như tôi đã đính kèm thành công hình ảnh. Bạn cần thêm / để hoạt động:

file:///sdcard/DumbDumpers/DumbDumper.jpg 
    ^
4

Loại ý định của bạn sai. Nó phải là

sendIntent.setType("image/jpg"); 
+2

"hình ảnh/jpeg" là loại chính xác cho JPG –

Các vấn đề liên quan