Android Api 29在文件和文件夹方面有很大的变化。 到目前为止,我还没有找到在公共可见的内部存储中创建文件夹的方法。 我创建的每个文件夹只能由我的应用查看。
我编写了一个应用程序,该应用程序创建了应由其他应用程序拾取的数据文件,例如,Total Commander将其复制到目标位置。 在激活Api 29之前,一切正常。我的某些客户端确实使用像素电话,而他们使用的是Android 10。
如何在Android 10中创建公开的文件夹和文件?
已弃用:
-lomp
以及当我使用
cmake_minimum_required(VERSION 3.12)
project(openmptest CXX)
add_executable(sample sample.cpp)
find_package(OpenMP REQUIRED)
target_link_libraries(sample PRIVATE OpenMP::OpenMP_CXX)
创建的文件只能由我的应用查看。 如何实现Android 10之前有效的行为?
谢谢。
答案 0 :(得分:2)
当我使用
File root = context.getExternalFilesDir(null);
时,创建的文件只能由我的应用查看
如果用户选择您放置在该目录中的文档,则使用Storage Access Framework的任何应用程序(例如ACTION_OPEN_DOCUMENT
)都可以看到它们。
我编写了一个应用程序,该应用程序创建了应由其他应用程序拾取的数据文件
除了受限制的目录(例如getExternalFilesDir()
或通过非文件系统方式(ACTION_OPEN_DOCUMENT
,MediaStore
)以外,其他应用都无法访问Android 10上的外部或可移动存储。
如何在Android 10中创建公开的文件夹和文件?
在getExternalFilesDir()
上使用Context
和相关方法。或者,使用ACTION_CREATE_DOCUMENT
或ACTION_OPEN_DOCUMENT_TREE
并使用存储访问框架。无论哪种情况,生成的文档都可以由其他也使用Storage Access Framework的应用程序使用。
答案 1 :(得分:1)