0

mimeType がわからないカスタム拡張子 (.abc など) の添付ファイルがあります。Android アプリケーションを使用してこの添付ファイルを開きたいと思います。以下のコードをマニフェストに追加しようとしましたが、それは役に立たないようです。複数のスタック オーバーフローの投稿を確認しましたが、どれも機能していないようで、アプリを .abc だけでなく他の拡張機能にも公開しているものはありません

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

2 に答える 2

3

に開口部があり*ますpathPattern。その理由は?前のキャラクターにのみ影響するため、主役にすべきではありません。

Android ドキュメントから:

  • アスタリスク ('*') は、直前の文字が 0 から複数回出現するシーケンスに一致します。

  • アスタリスクが続くピリオド (「.*」) は、0 から複数の文字の任意のシーケンスに一致します。

android:scheme要素を追加することもできます。上記と同じセクションから:

これらの属性は、フィルタにスキームおよびホスト属性も指定されている場合にのみ意味があります。

また、広く受け入れられている回答とともに、読むことができるほぼ複製があります。

于 2013-08-22T19:07:21.693 に答える
0

指定する必要がありますandroid:scheme

<activity>
    <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:scheme="content" />
        <data android:host="*" />
        <data android:mimeType="*/*" />
        <data android:pathPattern=".*abc" />
        <data android:pathPattern=".*\\.abc" /> <!-- path includes one '.' -->
        <data android:pathPattern=".*\\..*\\.abc" /> <!-- path includes two '.' -->
        <data android:pathPattern=".*\\..*\\..*\\.abc" /> <!-- path includes three '.' -->
        <!-- repeat as long as you want -->
    </intent-filter>
</activity>
于 2013-08-25T08:50:17.380 に答える