Android文件:如果我将.zip文件复制到/ sdcard / Download,则uri会出错

问题描述 投票:1回答:1

我有一个要求,我们可以通过我的应用打开一个.zip文件(替换为.activity)。我将manifest.xml设置为类似于>>

<intent-filter>
     <action android:name="android.intent.action.VIEW" />
     <category android:name="android.intent.category.DEFAULT" />
     <data android:scheme="file" />
     <data android:scheme="content" />
     <data android:host="*" />
     <data android:mimeType="*/*" />
     <data android:pathPattern=".*\\.activity" />
</intent-filter>

[当我打开一个名为'test.activity'的文件时,实际上是'test.zip',带有下面的代码。

public void chooseFile(CallbackContext callbackContext) {

        Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
        intent.setType("*/*");
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);

[首先,我将'test.activity'推送到/ sdcard / Download,我得到了一个像content://com.android.providers.downloads.documents/document/raw%3A%2Fstorage%2Femulated%2F0%2FDownload%2Ftest.activity的uri

然后我单击下载

并将文件也复制到下载(/ sdcard / Download),该文件将自动命名为test(1).activity。我认为正确的uri应该是

content://com.android.providers.downloads.documents/document/raw%3A%2Fstorage%2Femulated%2F0%2FDownload%2Ftest(1).activity

但是我有一个类似的uri

content://com.android.providers.downloads.documents/document/805

因此,我一开始提到的“意图过滤器”将失效。谁能告诉我为什么这个uri的末尾变成数字?

我有一个要求,我们可以通过我的应用打开一个.zip文件(替换为.activity)。我将manifest.xml设置为[] [

在某些设备上。从下载目录中选择文件时,将返回错误的uri。因此,您需要更改它

java android file-manager file-browser
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.