Android Q PDF类型的文件扩展名通过文件管理器打开

Android Q PDF type file extension open through file manager

我试图让用户可以选择通过我的应用程序打开 pdf 文件。 因此,当用户从文件管理器中单击 pdf 文件时,他们应该可以选择使用我的应用程序打开它以及其他 pdf reader 应用程序(如果在他们的设备中可用)。 我通过在此处搜索各种答案,在清单中添加了以下意图过滤器。它们似乎在 Api 29 以下工作(单击 pdf 文件后我的应用程序显示在列表中)。但是对于 API Q,该应用程序未显示在列表中。

意向过滤器:

           <!--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>