防止媒体扫描、设置权限或锁定 Android 中的文件夹和文件
在我的应用程序中,我下载不同的图像并将其保存在 SD 卡内的文件夹下。该文件稍后会在我的应用程序中使用。
我需要的是,使该文件夹仅对我的应用程序可见。我的意思是这些图像不应该在 Android Gallery 和其他中提供。
我还将 sqllite 文件保存在此文件夹中。我还想限制对此 sqllite 文件的任何其他访问。
无论如何,是否可以像文件夹和文件的任何内容一样设置权限,以便它只能用于我的应用程序? 是否有办法将文件夹或文件锁定到某个特定的应用程序?
提前致谢。
In my app, me downloading different image and saving inside sdcard under a folder. That file is later used in my app.
What i need is, make this folder only visible to my app. I mean the images should not be available in Android Gallery and other.
Me also saving the sqllite file inside this folder. I also want to restrict any other access to this sqllite file.
Is there anyway to set permission like anything for folder and file, so that it can only available to my app?
Is there anyway to lock a folder or a file to some specific app?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
芬利我找到了这个问题的答案
我在没有设置权限的情况下完成了此操作,但我们可以从媒体扫描仪中隐藏文件
在外部文件目录中包含一个名为
.nomedia
的空文件(请注意文件名中的点前缀)。这将阻止 Android 的媒体扫描仪读取您的媒体文件并将其包含在图库或音乐等应用程序中。Finlay i found the answer for this
I done it without setting permission, but we can Hide out files from the Media Scanner
Include an empty file named
.nomedia
in your external files directory (note the dot prefix in the filename). This will prevent Android's media scanner from reading your media files and including them in apps like Gallery or Music.您可能想查看环境 开发网站上的课程
另请参阅 API DEMO 外部存储示例,了解如何处理对 SD 的私有/公开访问
you might want to take a look at the Environment class on the dev site
Also look at the API DEMO External storage sample to see how to handle access privately/publicly to the SD
在 froyo 中,您有一些安全存储管理(称为安全容器),但我不知道它到底是如何工作的以及是否可以直接访问。
另一种解决方案是加密应用程序中的所有文件。
我认为没有一种简单的方法来设置“类似 UNIX”的权限,因为所有应用程序都以相同的权限运行,并且 root 用户可以访问任何地方。
In froyo, you have some secure storage management (called secure containers) but i don't know exactly how it work and if it's directly accessible.
An other solution is to encrypt all your file from your application.
I don't think there is an easy way to set "unix like" permissions, since all app run with the same permission and a rooted user can access anywhere.