Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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
Android 阻止用户查看/删除SD卡中的文件_Android - Fatal编程技术网

Android 阻止用户查看/删除SD卡中的文件

Android 阻止用户查看/删除SD卡中的文件,android,Android,我有一个可以分发给公司用户的内部应用程序 管理员可以将文件放入SD卡中指定文件夹中的设备,但不希望用户可以查看/删除该文件。实现这一目标的最佳方式/理念是什么?已经尝试过研究,但仍然没有找到好的解决方案。如果您的应用程序使用了一些文件,请将这些文件放入应用程序的资产文件夹中。如果SD卡中存在文件,则任何人都可以查看和删除。我甚至不确定这是否可行。用户可以随时取出SD卡,将其放入读卡器,然后以这种方式查看/删除SD卡。如果你的应用程序依赖于阻止访问SD上的文件,那么我认为你的设计是有缺陷的 根据a

我有一个可以分发给公司用户的内部应用程序


管理员可以将文件放入SD卡中指定文件夹中的设备,但不希望用户可以查看/删除该文件。实现这一目标的最佳方式/理念是什么?已经尝试过研究,但仍然没有找到好的解决方案。

如果您的应用程序使用了一些文件,请将这些文件放入应用程序的资产文件夹中。如果SD卡中存在文件,则任何人都可以查看和删除。

我甚至不确定这是否可行。用户可以随时取出SD卡,将其放入读卡器,然后以这种方式查看/删除SD卡。如果你的应用程序依赖于阻止访问SD上的文件,那么我认为你的设计是有缺陷的

根据android文档,您应该将私有数据存储在内部存储器中,将公共数据存储在外部存储器中-查看以获取更多信息


如果您需要存储/读取用户除了通过您的应用程序之外无法访问的文件,则应将这些文件存储在应用程序的本地目录中(通常位于
/data/data/your.app.package
下)。在
上下文中使用
openFileInput
openFileOutput
方法来读/写这些文件。

你在手机上有root权限吗?@janesabouchleich没有,公司不会为手机设置root权限。@ManishAndroid是吗?@ManishAndroid我在手机上使用了节奏软件应用程序的文件管理器,但可以查看。文件夹及其内容和my phone未根目录:(@ManishAndroid你错了。SD卡上的所有数据对任何进程和任何用户都是可读的。你可以随时取出卡,放入SD卡读卡器,读取/删除文件,然后将卡放回手机。管理员可以随时更改文件,因此,无法放入资产中,因为每次都需要重新编译和重新安装。A另一种方法是将文件存储在数据库中。也可以,因为管理员可以随时更改文件内容。如果管理员更改了文件内容,则将文件更新到database.bt。如果您将任何文件存储在SD卡中,并且对任何人公开。是的,我完全同意您的意见。如果没有可能的解决方案,我将讨论此问题是公司的。+1因为您应该将这些文件存储在应用程序的本地目录中,但是用户仍然可以通过设置UI:Settings>Apps>[YOUR app]>清除数据来删除本地目录中的文件。@shoerat是的,他们可以,但是这仍然比将文件存储在SD卡上更安全。