我正在尝试存储用户可以通过我的应用程序下载的音乐文件,但是我不希望它们对99%的用户公开可见(我不包括有根设备或特殊情况)
我不担心那些通过使用特殊工具或有根电话来获得音频的人们。
我正在尝试了解文档,但是对我而言,并不是100%清楚getExternalFilesDir()
是否适合用于此目的。
另外,我当前正在使用的库使用以下行:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath()
如果我将其替换为...,可以100%互换吗?
Environment.getExternalFilesDir(Environment.DIRECTORY_MUSIC).getAbsolutePath()
(注意,我同时更改了目录功能和
DIRECTORY
类型(从PICTURES
到MUSIC
)谢谢
最佳答案
getExternalFilesDir()是私有的吗?
否。任何用户和任何应用程序(具有READ_EXTERNAL_STORAGE
或WRITE_EXTERNAL_STORAGE
)都可以访问external storage。
如果我将其替换为...,可以100%互换吗?
由于括号不平衡,因此无法编译。此外,值也不同(PICTURES
与MUSIC
)。忽略它们是“可互换的”,只要它们都可以工作并且都在外部存储上即可。但是,它们不是同一回事。第一个是用户的标准PICTURES
目录。第二个是专用于图片的目录,该目录对于您的应用程序是唯一的。另外,前者在所有设备上都要求WRITE_EXTERNAL_STORAGE
;后者仅适用于Android 4.3及更低版本。
我不希望99%的用户可以公开看到它们(我不包括植根设备或特殊情况)
使用internal storage(例如,getFilesDir()
)。