当前位置: 首页 > 知识库问答 >
问题:

Ancroid11:如果文件被其他应用程序删除,我的应用程序不会重新创建文件

曾丰茂
2023-03-14

我使用Android11,目标是:

compileSdkVersion 31
defaultConfig {
applicationId “com.pro.prowh”
minSdkVersion 24
targetSdkVersion 31
versionCode 16
versionName “22.01.12”
}

在清单中,我使用:

MyApp创建文件夹/storage/emulated/0/Documents/PRO_WH/:OK
如果通过任何应用程序擦除PRO _ WH文件夹,MyApp会自动重新创建它:OK < br >

MyApp在PRO_WH内创建文件test.txt,如 /storage/emulated/0/Documents/PRO_WH/test.txt:OK
(此文件以前从不创建)
MyApp重新创建文件test.txt新内容:OK
MyApp擦除文件test.txt:OK
MyApp重新创建文件test.txt新内容:OK

issuse:
如果擦除其他应用程序test.txt的文件,例如使用文件管理器,MyApp无法再次创建文件test.txt。错误(IOException):

/storage/emulated/0/Documents/PRO _ WH/test . txt:打开失败:EEXIST(文件存在)

文件测试。txt实际上并不存在。

我需要帮助:

如何解析上面的 isssue ?

如果文件被其他应用程序删除,如何重新创建文件?

共有2个答案

邵献
2023-03-14

检查它,如果文件已经存在,那么你可以直接写在该文件上。

Android;检查文件是否存在,而不创建新文件

陆阳曜
2023-03-14

可能是MediaStore没有意识到删除,因此在其数据库中仍然存在该文件的条目。

如果仍有一个条目,则不能用相同的路径和名称创建文件。

也许重新启动可以通过自动重新扫描来解决此问题。

您可以查询媒体存储以获取DISPLAY_NAME和RELATIVE_PATH以查看

 类似资料:
  • 我试图开发一个android应用程序,可以擦除其他应用程序的缓存数据,我试图浏览所有的博客,但没有一个对我有效,我可以通过以下代码清除我的应用程序的缓存 我想清除其他应用程序的缓存,可以任何机构请帮助我,如果我错了请纠正我,提前谢谢。

  • 如果被其他应用程序调用,我的自定义相机应用程序会崩溃。 例如,我的相机是由我的音轨调用的。如果你按下我音轨的相机图标,它会弹出并让用户选择要使用的相机。我试过使用我的相机,但它崩溃了。但是如果我从应用程序菜单中单击相机,我的相机就可以正常工作。 AndroidManifest.xml 我的方法: 日志猫: 相机活动: 这是我的启动器,当我的应用程序启动时首先调用它: 我主要活动的一部分 @Over

  • 问题内容: 我正在使用create react app引导我的应用程序。 我已经添加了两个文件,并在根。 我的包括: 当我使用来运行我的应用程序并退出时,它会吐出来 我尝试了不同的方法,但只是没有在开发文件中使用Veriable,我在做什么错?! 指令结构为: Package.json脚本是: 编辑: @jamcreencia正确地指出我的变量应该前缀用。 编辑2 如果我为文件命名,就可以了,但是

  • 在unix中,我以以下方式运行jar java-jar$classpath--spring.config.location=application.yml 我认为通过命令行提供的属性具有最高的优先级(从下面的链接),那么为什么使用来自DATASERVICE_PROPERTIES的server.port呢? Spring Boot和多个外部配置文件

  • 通过WebLogic Admin控制台停止/启动部署时,有时我们会收到以下错误: 然而,如果我停止并启动托管服务器,部署似乎又回来了。 我的问题是,为什么这些war文件在服务器运行时从托管服务器上随机消失?这通常发生在我们有一段时间(6个月)没有接触部署之后。还有其他部署的war文件。它不会影响应用程序的运行,直到我们尝试停止/启动它。 这就是文件系统前后的样子。 在此处重新启动托管服务器。。。

  • 我有一个音频文件的回收视图,该音频文件存储在原始文件夹中。现在,我想与其他应用程序共享我的音频文件。我正在适配器clss中尝试此代码。 但它不起作用。如何解决这个问题。 提前谢谢。