【问题标题】:File Storage with security in AndroidAndroid中具有安全性的文件存储
【发布时间】:2014-04-24 10:06:32
【问题描述】:

我的应用程序正在通过应用内购买下载书籍 (zip)。

我想问一下,在 android 中是否有任何方法可以将这些书籍安全存储在 SD 卡或外部存储中,以便 没有其他文件管理员可以删除它

任何帮助将不胜感激。

【问题讨论】:

  • 默认情况下,android外部存储是世界可读的,因此可以被其他应用程序和用户读取/删除。安全保存它的唯一方法是将其保存在只有应用程序可以读取的内部存储器中。但是,如果手机是 root 并且因此是可修改的,这也是可以访问的。
  • 但如果用户重新安装该应用程序,我想退回购买的书籍。我认为这是内部存储无法实现的。 :(

标签: android file security file-security


【解决方案1】:

保存到外部存储的文件是世界可读的,并且可以 用户在启用 USB 大容量存储传输时修改 电脑上的文件。

来源:http://developer.android.com/guide/topics/data/data-storage.html#filesExternal

所以您不能在 SD 卡上存储任何数据,因为您希望没有人可以删除它们。 但您可以使用内部存储:

默认情况下,保存到内部存储的文件是您的私有 应用程序和其他应用程序无法访问它们(也不能 用户)。当用户卸载您的应用程序时,这些文件是 删除。

来源:http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

【讨论】:

  • 感谢您的帮助,但是如果用户卸载并重新安装应用程序,根据我的知识,卸载时内部存储文件会被删除。所以他不得不重新购买这本书。怎么办?
  • 对此的确切解决方案:在您的应用程序中应该是一种“恢复事务”的方法。看这里:stackoverflow.com/questions/16871115/… 所以如果用户卸载然后再次安装您的应用程序,您检查用户是否购买了一些东西,如果是,则再次下载。而已。如果用户在另一台设备上安装您的应用程序,这也将起作用
  • 嘿,听起来不错。我一定会试试的。
【解决方案2】:

要写入外部存储,您必须在清单文件中请求 WRITE_EXTERNAL_STORAGE 权限:

 <manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>

更多详情请点击here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    相关资源
    最近更新 更多