【问题标题】:Android Intent Chooser not able to open file in some casesAndroid Intent Chooser 在某些情况下无法打开文件
【发布时间】:2021-07-07 15:11:49
【问题描述】:

我想下载一个文件到Downloads 目录,然后当用户想要打开它时查看它。我可以将文件保存到下载目录,但是当我尝试使用Intent Chooser 查看它时出现问题。起初,我看到文件保存在路径中:storage/emulated/0/Download/filename 但我不知道如何为不同版本的设备访问此路径,所以我从我之前发布的问题中得到了这个问题的答案here .

现在,我也可以查看该文件,因为我知道上述说明中的filenamemimetypepath。但是,问题是,对于在Android 10 上运行的Google PixelSamsung m 30s 等设备,我只能通过Intent Chooser 查看文件,而当我尝试使用Realme 3 ProOneplus 6 和一些在Android 10 上运行的MI 设备,在从Intent Chooser 中选择了一个应用程序后,它不会在这些设备上打开文件,而是尝试打开文件,然后在不打开文件的情况下跳回我的应用程序.对于Android 10 以下的设备,我似乎不存在这个问题。

我的DownloadRepositoryMainActivity的代码可以分别在Github gistsherehere中找到。

我目前没有在Android Manifest 中附加FileProvider 的代码,在XML 中附加provider_paths 的代码,因为它适用于某些设备,但如果需要我也可以附加它:)

编辑

这是我的Android Manifestpath for FileProvider

Android Manifest 权限和 FileProvider

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission
    android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    android:maxSdkVersion="28" />
<uses-permission 
android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />

<provider
        android:name="androidx.core.content.FileProvider"
        android:authorities="${applicationId}.provider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_paths" />
    </provider>

file_paths.xml

<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path
    name="downloads"
    path="/Download" />
</paths>

【问题讨论】:

    标签: android kotlin


    【解决方案1】:

    我不认为 Intent 选择器是用来打开文件的。 您可以使用 Intent(ACTION_VIEW) 并使用标志设置其数据和类型

    希望这个答案可能会有所帮助 ACTION_VIEW intent for a file with unknown MimeType

    【讨论】:

    • 嗯,你打开我链接的MainActivity 的要点了吗?它已经使用Intent.ACTION_VIEW 和指定的mimetype,但它仅适用于某些设备。我已经测试并发现问题仅适用于在Android 10 上运行的真实设备。
    猜你喜欢
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 2012-03-26
    相关资源
    最近更新 更多