Java getExternalFilesDir()是私有的吗?
我试图存储用户可以通过我的应用程序下载的音乐文件,但我不希望99%的用户都能看到这些文件(我不包括根设备或特殊情况) 我不担心那些通过使用特殊工具或固定电话来获取音频的人 我试图理解这些文档,但我并不完全清楚Java getExternalFilesDir()是私有的吗?,java,android,Java,Android,我试图存储用户可以通过我的应用程序下载的音乐文件,但我不希望99%的用户都能看到这些文件(我不包括根设备或特殊情况) 我不担心那些通过使用特殊工具或固定电话来获取音频的人 我试图理解这些文档,但我并不完全清楚getExternalFilesDir()是否适合用于此目的 此外,我当前使用的库使用以下行: Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath() 如
getExternalFilesDir()
是否适合用于此目的
此外,我当前使用的库使用以下行:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath()
如果我用…替换它,这是100%可互换的吗
Environment.getExternalFilesDir(Environment.DIRECTORY_MUSIC).getAbsolutePath()
(注意,我同时更改了目录功能和目录
类型(从图片
更改为音乐
)
如果您在文件夹名称前加上“.”,请将此文件夹隐藏,谢谢
e、 g:
改用getFilesDir()
。这是私有应用程序内存
getExternalFilesDir()是私有的吗
不可以。任何用户和任何应用程序(具有读取外部存储
或写入外部存储
)都可以访问
如果我用..替换它,这是100%可互换的吗
由于括号不平衡,无法编译。此外,值不同(图片
与音乐
)。忽略这一点,它是“可互换的”就它们都可以工作并且都在外部存储上而言。但是,它们不是一回事。第一个是用户的标准图片
目录;第二个是专用于您的应用程序特有的图片的目录。另外,前者要求在所有设备上都有写入外部存储
;后者是仅适用于Android 4.3及以下版本
我不希望它们对99%的用户公开可见(我不包括根设备或特殊情况)
使用(例如,
getFilesDir()
)。这是我正在使用的库。如果我把你的东西放在这里,你认为会有用吗?如果你不能告诉我,我不是Android开发者哈哈:注意,“隐藏”和“不可访问”是不同的。特别是如果他们在Windows计算机上工作,它甚至不会被隐藏。有任何方法可以将其隐藏在所有公用文件夹之外,并且只能在根设备上使用?谢谢你非常有用的回答,这非常有帮助。我将以你的回答作为答案,但你能帮我澄清最后一件事吗?因此,除了如果我像你说的那样使用getFilesDir()
,你会如何从我使用的库中写出这一行?@Tallboy:我不能回答这个问题,因为我对这个插件一无所知。用相同的this.getReactApplicationContext().getFilesDir()替换Environment
位上一条语句中的.getAbsolutePath()
可能是一个起点。但我将重点与插件的开发人员交谈并征求他们的建议。谢谢!这很有帮助
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/.myFolderName");