Tôi cần mở tệp có tiện ích mở rộng tùy chỉnh bằng ứng dụng của mình. Tôi có thể làm điều này bằng cách sử dụng bộ lọc Intent khi tệp nằm trong thẻ sd của tôi. Tôi cũng có thể xem các nút 'tải xuống' và 'xem trước' nếu tệp được gửi dưới dạng tệp đính kèm trong Gmail. Tuy nhiên, khi tôi nhấp vào nút tải xuống/xem trước, tôi nhận được thông báo - "Rất tiếc, không thể tải xuống tệp đính kèm".Android - Mở tệp đính kèm gmail bằng Ứng dụng của tôi
Tôi nghĩ đây là sự cố với ứng dụng của tôi. Nhưng tôi đã có một ý tưởng ngẫu nhiên và cài đặt ứng dụng "Tải xuống tất cả tệp" trên điện thoại của tôi. https://play.google.com/store/apps/details?id=com.hwkrbbt.downloadall&hl=en Sau đó, khi tôi nhấp vào nút tải xuống trong Gmail, cả Tải xuống tất cả tệp và ứng dụng của tôi đều được đề xuất để tải xuống tệp. Tôi đã chọn ứng dụng của mình và mọi thứ hoạt động tốt !!
Đây có phải là vấn đề bảo mật không? Đây là các Bộ lọc Intent của tôi:
<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="*/*" />
<data android:scheme="content" android:host="*"
android:pathPattern=".*\\.ate" />
<data android:scheme="file" android:host="*"
android:pathPattern=".*\\.ate" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/*" host="*" android:pathPattern=".*.ate" android:scheme="content" />
</intent-filter>
EDIT: Đây là thẻ hoạt động đầy đủ.
<activity android:name=".TestApp"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.TestApp.TestApp.NOTIFICATION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<!-- Opening .ate file start -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:host="*" />
<data android:pathPattern=".*\\.ate" />
</intent-filter>
<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="*/*" />
<data android:scheme="content" android:host="*"
android:pathPattern=".*\\.ate" />
<data android:scheme="file" android:host="*"
android:pathPattern=".*\\.ate" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="file" android:pathPattern=".*\\.ate" android:mimeType="application/octet-stream"/>
<data android:scheme="content" android:pathPattern=".*\\.ate" android:mimeType="application/octet-stream"/>
</intent-filter>
<!-- Opening .ate file end -->
</activity>
Bạn đã thử ** android: host = "gmail-ls" **? –