gpt4 book ai didi

android - intent-filter不去Android系统

转载 作者:行者123 更新时间:2023-11-29 02:06:25 25 4
gpt4 key购买 nike

我想注册我的应用程序以与某个文件扩展名相关联。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>

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

    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);
}

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

最佳答案

这为我解决了问题:dropbax、google drive 和其他应用程序似乎都有点“。”在他们的完整路径中,以及 android 正则表达式 '.'不贪心...

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

关于android - intent-filter不去Android系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9796638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com