2

私は現在、メールからファイルをロードし、メールを使用して作成したファイルをエクスポートできるアプリを構築しています。拡張子は.lqです。現在このインテントフィルターを使用していますが、拡張子が.lqのアプリを開こうとすると、標準のメールアプリで「この添付ファイルを表示できません」というエラーが繰り返し表示されます。

<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=".*\\.lq"/>
    <data android:host="*"/>
</intent-filter>

私はいくつかの異なる解決策を試しましたが、どれもうまくいきませんでした。

4

2 に答える 2

3

インテント インターセプトアプリケーションを使用して、メール アプリによって送信されたインテントを分析し、作成する必要があるインテント フィルターを知ることができます。

Gmail アプリから、次の意図を取得します。

アクション: android.intent.action.VIEW

データ : content://gmail-ls/myemail@gmail.com/messages/471/attachments/0.1/BEST/false

URI : content://gmail-ls/myemail@gmail.com/messages/471/attachements/0.1/BEST/false

タイプ : 画像/png

したがって、問題は、.lq が標準の拡張子ではなく、拡張子のない内部名を使用するため、.lq で終わるファイル名に依存できないことです。

インテント フィルターを使用して content://* URI をキャッチできます。

于 2012-07-25T10:30:03.957 に答える
-1

私もこの問題を抱えていました。mimetype属性を完全に削除してみてください。

于 2012-07-25T10:26:11.170 に答える