2010-06-13 66 views
7

Tôi cố gắng mở một loại tệp đính kèm email cụ thể với hoạt động của mình, tệp đính kèm chính nó là tệp ini phong cách cửa sổ văn bản thuần túy có đuôi * .os. Trong email, tệp này được đính kèm dưới dạng "application/octet-stream". Tôi đã thử bộ lọc theo ý định sau để bắt tệp đính kèm với hoạt động của mình:Mở tệp đính kèm email trong Android

  <intent-filter> 
      <action android:name="android.intent.action.VIEW"/> 
      <category android:name="android.intent.category.DEFAULT"/> 
      <category android:name="android.intent.category.BROWSABLE"/> 
      <data android:scheme="http" android:host="*" android:pathPattern=".*\\.os"/> 
      <data android:scheme="https" android:host="*" android:pathPattern=".*\\.os"/> 
      <data android:scheme="content" android:host="*" android:pathPattern=".*\\.os"/> 
      <data android:scheme="file" android:host="*" android:pathPattern=".*\\.os"/> 
     </intent-filter> 

Ứng dụng Email đang tìm nạp tệp đính kèm nhưng sau đó nói với tôi "Không thể hiển thị tệp đính kèm". Tôi có thể làm gì? Làm thế nào tôi có thể gỡ lỗi này?

+0

Có một huy hiệu cho các câu hỏi chưa được trả lời lâu năm? – zehrer

+0

Không có ý tưởng nếu nó giúp nhưng có một blogpost về làm thế nào để làm điều đó với GMail, có thể một cái gì đó trong đó cho bạn? http://carvingcode.blogspot.com/2009/08/how-to-open-gmail-attachments-with.html – DrColossos

+0

@fredley Cũng giống như bạn vì tôi cho rằng bạn cần nó vì tiền thưởng thêm;) – DrColossos

Trả lời

1

Nó chỉ đơn giản nên có một chương trình tập tin, vì vậy tôi sẽ loại bỏ những người khác và thử với điều đó và bao gồm các MIMETYPE như một ký tự đại diện (hoặc "*" hoặc "*/*"):

<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="file" /> 
    <data android:mimeType="*" /> 
    <data android:pathPattern=".*\\.os" /> 
    <data android:host="*" /> 
</intent-filter> 

Nếu điều đó không hiệu quả, có thể thử android.intent.action.MAIN cho hành động. Kiểm tra nhật ký để xem liệu đó có cung cấp cho bạn chi tiết về ý định không khớp với bất kỳ thứ gì không.

+0

Điều này dẫn đến android.content.IntentFilter $ MalformedMimeTypeException: * – zehrer

0

Giải pháp của tôi, mà làm việc cho .wav file là để thiết lập MIMETYPE:

 <intent-filter> 
     <action android:name="android.intent.action.VIEW"/> 
     <category android:name="android.intent.category.DEFAULT"/> 
     <category android:name="android.intent.category.BROWSABLE"/> 
     <data android:mimeType="application/os" /> 
    </intent-filter> 
+0

** android: mimeType = "application/os" ** là gì? –

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