我有一个要求,我们可以通过我的应用打开一个.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。因此,您需要更改它