【问题标题】:Restrict folder access to android apps限制文件夹对安卓应用的访问
【发布时间】:2011-11-25 19:11:22
【问题描述】:

如果用户不小心删除了文件,但数据库中的记录仍然存在,我的应用程序会下载/创建一些文件,这些文件又具有数据库链接,这会使我的应用程序数据损坏。

有什么方法可以限制对文件夹的访问仅限于我的应用程序。我在 sdcard 中创建了文件夹来存储文件。

【问题讨论】:

  • 你可以隐藏文件夹,检查this

标签: android


【解决方案1】:

目前无法通过标准应用在 android 上创建不可删除的文件。如果您担心由于用户错误导致数据丢失,您可以:

  1. 在服务器端存储您的数据,并仅将其缓存在手机上。根据您的应用程序,这可能会很昂贵或侵犯隐私,但这是最好的解决方案。

  2. 将文件存储为应用程序数据的一部分,并在清单中标记应将其存储在 SD 卡上。为此,请将以下行添加到您的清单中:android:installLocation="preferExternal"

更多关于外部存储的信息here.

【讨论】:

    【解决方案2】:

    如果下载的文件不是很大,您可以将它们存储在您的应用程序文件夹中,只有您的应用程序可以访问。

    /data/data/your.package.name/
    

    【讨论】:

    • 您可以通过在名称前加上“.”来隐藏 SD 卡上的文件。例如“.image.jpg”。这将隐藏文件,但仅限于 unix 平台。如果他们在 Windows 上安装 sdcard,他们会看到这些文件。没有其他方法可以限制对 sdcard 的访问。它应该对所有人开放。有关更多详细信息,请参阅此线程 => [链接]stackoverflow.com/questions/1129644/…
    【解决方案3】:

    尝试将 <.> (<.> = 句号) 放在应用程序文件夹名称的开头。它会阻止文件夹显示在android或画廊的标准文件管理器中。

    此外,没有办法限制用户删除文件..:(

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-06
      • 1970-01-01
      • 2017-09-17
      • 2016-05-05
      • 1970-01-01
      • 2017-08-29
      • 2014-04-13
      相关资源
      最近更新 更多