java - getExternalFilesDir() 是私有(private)的吗?

标签 java android

我正在尝试存储用户可以使用我的应用程序下载的音乐文件,但我不希望 99% 的用户公开看到它们(我不包括 root 设备或特殊情况)

我并不担心那些不遗余力地使用特殊工具或 root 手机来获取音频的人。

我正在尝试理解文档,但我并不是 100% 清楚 getExternalFilesDir() 是否适合用于此目的。

此外,我当前使用的库使用以下行:

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath()

如果我只是将其替换为...,这是否 100% 可以互换

Environment.getExternalFilesDir(Environment.DIRECTORY_MUSIC).getAbsolutePath()

(请注意,我更改了目录功能以及 DIRECTORY 类型(从 PICTURESMUSIC)

谢谢

最佳答案

Is getExternalFilesDir() private?

没有。任何用户和任何应用(使用 READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE)都可以访问 external storage .

Is this 100% interchangeable if I just replace it with..

由于括号不平衡,因此无法编译。此外,这些值也不同(PICTURESMUSIC)。忽略这一点,它是“可互换的”,因为它们都可以工作并且都在外部存储上。然而,它们不是同一件事。第一个是用户的标准PICTURES目录;第二个是专用于您的应用程序特有的图片的目录。此外,前者需要在所有设备上使用WRITE_EXTERNAL_STORAGE;后者仅需要 Android 4.3 及以下版本。

I don't want them to be publicly visible to 99% of users (I'm excluding rooted devices or special cases)

使用internal storage (例如,getFilesDir())。

关于java - getExternalFilesDir() 是私有(private)的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35923415/

相关文章:

Android Studio/Gradle 构建找不到自定义应用程序类

java - 将 vector 行插入 JTable 中?

java - AES 加密我正在尝试使用 AES 加密进行加密

java - Maven testResource 过滤在 pom.xml 中不起作用

android - 我怎样才能让 android 中的 mediaPlayer 一个接一个地播放 2 个或更多 mp3 文件?

android - 在 Android 上创建自定义 View 时在绘制时出现空指针错误?

android - 无法从 AsyncTask 获取 Json

android - 以编程方式设置线性布局之间的边距

人脸检测后 JavaCV 工作/写入 BufferdImage

java - Java 中的多态性、数据类型和内存