意向过滤器不会进入Android系统

意向过滤器不会进入Android系统,android,intentfilter,Android,Intentfilter,我想注册我的应用程序以与某个文件扩展名关联。 AndoidManifest.xml包含: <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name"

我想注册我的应用程序以与某个文件扩展名关联。 AndoidManifest.xml包含:

    <application
        android:icon="@drawable/ic_launcher"
                android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
                    android:name=".IntentTestActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <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=".*\\.XXX" />
            </intent-filter>
        </activity>
    </application>

但我甚至没有在查看操作列表中看到我的应用程序。 即使在我的应用程序中,此代码也显示除我的应用程序以外的任何内容:

    final PackageManager packageManager = getPackageManager();
    final Intent intent = new Intent("android.intent.action.VIEW");
    List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);
    for (ResolveInfo r : list) {
        Log.d("XXX", "" + r);
    }
final-PackageManager-PackageManager=getPackageManager();
最终意图=新意图(“android.Intent.action.VIEW”);
列表=packageManager.QueryInputActivities(意图,
PackageManager.MATCH_(仅限默认值);
用于(信息解析程序:列表){
对数d(“XXX”和“+r”);
}

有什么问题,或者我应该如何将文件扩展名与特定操作关联?

这为我解决了问题: dropbax、google drive和其他应用程序的完整路径中似乎都有点“.”, 而且安卓正则表达式不是贪婪的

<data android:pathPattern=".*\\.XXX" />
<data android:pathPattern=".*\\..*\\.XXX" />
<data android:pathPattern=".*\\..*\\..*\\.XXX" />
<data android:pathPattern=".*\\..*\\..*\\..*\\.XXX" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.XXX" />