Android Q PDF类型文件扩展名通过文件管理器打开
我试图让用户可以通过我的应用程序打开pdf文件。 因此,当用户从“文件管理器”中单击pdf文件时,他们应该可以选择使用“我的应用程序”和其他pdf阅读器应用程序(如果在他们的设备中可用)打开该文件。 通过在这里搜索各种答案,我在清单中添加了以下意图过滤器。它们似乎在Api 29下工作(单击pdf文件后,我的应用程序显示在列表中)。但对于API Q,该应用程序没有显示在列表中 意图过滤器:Android Q PDF类型文件扩展名通过文件管理器打开,android,android-studio,pdf,android-10.0,file-manager,Android,Android Studio,Pdf,Android 10.0,File Manager,我试图让用户可以通过我的应用程序打开pdf文件。 因此,当用户从“文件管理器”中单击pdf文件时,他们应该可以选择使用“我的应用程序”和其他pdf阅读器应用程序(如果在他们的设备中可用)打开该文件。 通过在这里搜索各种答案,我在清单中添加了以下意图过滤器。它们似乎在Api 29下工作(单击pdf文件后,我的应用程序显示在列表中)。但对于API Q,该应用程序没有显示在列表中 意图过滤器: <!--For pdf--> <intent
<!--For pdf-->
<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="content"
android:host="*"
android:pathPattern=".*\\.pdf"
android:mimeType="*/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:host="*" />
<data android:pathPattern=".*\\.pdf" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:host="*" />
<data android:mimeType="application/pdf" />
</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=".*\\.pdf" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="*"
android:mimeType="*/*"
android:pathPattern=".*\\.pdf"
android:scheme="file" />
</intent-filter>
<intent-filter android:priority="999">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.OPENABLE" />
<data android:host="*" />
<data android:mimeType="application/octet-stream" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.pdf" />
<data android:pathPattern=".*\\..*\\..*\\..*\\.pdf" />
<data android:pathPattern=".*\\..*\\..*\\.pdf" />
<data android:pathPattern=".*\\..*\\.pdf" />
<data android:pathPattern=".*\\.pdf" />
<data android:scheme="content" />
</intent-filter>
<!--end pdf-->
我如何允许我的应用程序在Android Q及以上版本中也打开pdf文件?
PS:所有必要的权限都已获得我正在为此使用此代码
<activity
android:name=".OpenPdfActivity"
android:theme="@style/OpenPdfActTheme">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:mimeType="application/pdf"
android:scheme="file" />
<data
android:mimeType="application/pdf"
android:scheme="content" />
</intent-filter>
</activity>