我正在尝试存储用户可以使用我的应用程序下载的音乐文件,但我不希望 99% 的用户公开看到它们(我不包括 root 设备或特殊情况)
我并不担心那些不遗余力地使用特殊工具或 root 手机来获取音频的人。
我正在尝试理解文档,但我并不是 100% 清楚 getExternalFilesDir()
是否适合用于此目的。
此外,我当前使用的库使用以下行:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath()
如果我只是将其替换为...,这是否 100% 可以互换
Environment.getExternalFilesDir(Environment.DIRECTORY_MUSIC).getAbsolutePath()
(请注意,我更改了目录功能以及 DIRECTORY
类型(从 PICTURES
到 MUSIC
)
谢谢
最佳答案
Is getExternalFilesDir() private?
没有。任何用户和任何应用(使用 READ_EXTERNAL_STORAGE
或 WRITE_EXTERNAL_STORAGE
)都可以访问 external storage .
Is this 100% interchangeable if I just replace it with..
由于括号不平衡,因此无法编译。此外,这些值也不同(PICTURES
与 MUSIC
)。忽略这一点,它是“可互换的”,因为它们都可以工作并且都在外部存储上。然而,它们不是同一件事。第一个是用户的标准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/