FileProvider导致Acrobat打开不同的文件名

问题描述

编辑:糟糕,忘记显示表单的完整路径

当我尝试将所有内容转换为对我的URI使用FileProvider时,这种情况开始尝试在Android 11之后的版本上发生。

在Android 11之前,我可以先将Uri.fromFile / setReadablesetWritable / MyForm.pdf结合使用,然后再将其填充,然后再填充PDF文件,这样可以节省时间它。

现在发生的事情是当我退出然后尝试返回时,它将打开PDF的重复副本,而不是原始副本。例如,第一次打开MyForm-1.pdf,第二次(仅在以前进行更改的情况下)它将打开Log

在打开URI时,我做了一个MyForm.pdf条目,以确保它不会以某种方式更改(并且我的应用程序中也没有执行此操作的机制)。它仍然正确命名为getFilesDir

我还尝试了从不同文件夹(getExternalFilesDirFile theForm = new File(Uri.parse("file:///storage/emulated/0/Android/data/com.smartascii.myapp/files/MyForm.pdf").getPath()); Uri theUri = FileProvider.getUriForFile(getApplicationContext(),BuildConfig.APPLICATION_ID + ".provider",theForm); pdf.setDataAndType(theUri,"application/pdf"); pdf.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(pdf,0); if (!resInfo.isEmpty()){ for (ResolveInfo info : resInfo) { if (info.activityInfo.packageName.toLowerCase().contains("adobe.reader") || info.activityInfo.name.toLowerCase().contains("adobe.reader") ) { pdf.setPackage(info.activityInfo.packageName); found = true; break; } } if (found) { startActivityForResult(pdf,EDIT_FORM); } else { startActivityForResult(Intent.createChooser(pdf,"Open form with..."),EDIT_FORM); } } )中导入/读取PDF,以防其他应用访问我的应用文件夹中的文件存在其他问题。

打开PDF:

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <external-path
        name="external"
        path="." />
    <external-files-path
        name="external_files"
        path="." />
    <cache-path
        name="cache"
        path="." />
    <external-cache-path
        name="external_cache"
        path="." />
    <files-path
        name="files"
        path="." />
</paths>

file_paths.xml:

HttpContext

我在这里缺少明显的东西吗?谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...