3

特定の種類のファイルを開くことができる Android アプリケーションがあります。それぞれの AndroidManifest.xml ファイルでインテント フィルターを次のように宣言しました (サンプル拡張子: ext):

        <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" android:host="*" android:mimeType="*/*" android:pathPattern=".*\\.ext"/>

        </intent-filter>

などのファイルを開くときはすべて問題ありませんmyFile.extが、ファイルの名前がmyFile.EXTmyFile.ExTなどの場合、インテント フィルターはそれを取得していないようです。インテント フィルターで可能なすべての大文字と小文字の順列を列挙する以外に、大文字と小文字を区別しない一致を指定する方法はありますか?

ここのドキュメントでは、データ要素の他の属性は大文字と小文字が区別されると述べていますが、pathPattern については言及していません。大文字と小文字を区別しない正規表現のJava命令をパターンに追加しようとしましたが、その結果、複数の"(?i).*\\.ext"ORを組み合わせたようになりまし".*\\.ext|.*\\.EXT"たが、それもうまくいかなかったようです。

助けや提案をいただければ幸いです。

ありがとう!

4

2 に答える 2

3

android:pathPattern完全な正規表現ではありません。これは、正規表現ができることの非常に小さなサブセットのみをサポートする「単純なグロブ」です。

于 2013-02-27T20:49:59.273 に答える