Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java getExternalFilesDir()是私有的吗?_Java_Android - Fatal编程技术网

Java getExternalFilesDir()是私有的吗?

Java getExternalFilesDir()是私有的吗?,java,android,Java,Android,我试图存储用户可以通过我的应用程序下载的音乐文件,但我不希望99%的用户都能看到这些文件(我不包括根设备或特殊情况) 我不担心那些通过使用特殊工具或固定电话来获取音频的人 我试图理解这些文档,但我并不完全清楚getExternalFilesDir()是否适合用于此目的 此外,我当前使用的库使用以下行: Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath() 如

我试图存储用户可以通过我的应用程序下载的音乐文件,但我不希望99%的用户都能看到这些文件(我不包括根设备或特殊情况)

我不担心那些通过使用特殊工具或固定电话来获取音频的人

我试图理解这些文档,但我并不完全清楚
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");