【问题标题】:Best place/area to store file for Trail period [closed]试用期存储文件的最佳地点/区域[关闭]
【发布时间】:2012-06-06 10:05:56
【问题描述】:

我的申请需要有一个试用期(7 天)。从 this 我了解到,您可以通过永久保存文件、数据库或共享首选项来做到这一点。

我应该将该文件保存在哪里,以便用户无法查看/删除它

如果我将该逻辑放入 Sharedpreference 或路径为“data/data/packagename”的文件中,则在卸载应用程序时,所有历史记录都将丢失。

还有其他解决方法/想法吗?

注意:没有服务器,应用程序在本地工作,没有互联网。

【问题讨论】:

标签: android file sharedpreferences trial


【解决方案1】:

我会说更好的解决方法是加密您的文件,然后将其存储在随机位置。这样,即使用户有权访问该文件,他/她也最不可能说出它的目的并无论如何都将其删除。 Android 对加密也有很好的支持。

看看这些让你开始:

Android Crypto Implementation

Android Developer: Crypto Package Summary

【讨论】:

    【解决方案2】:

    您可以存储为隐藏,因此用户没有机会删除

    this

    【讨论】:

    • 您可以在路由设备上运行 bash 终端,用户可以从那里查看和删除隐藏文件
    【解决方案3】:

    我会说,让应用程序的数据无法从清单中清除,如下所示:

    android:manageSpaceActivity="YourStartingActivity" 
    

    在应用程序标签中。

    现在将应用程序放在数据库或应用程序文件夹中。此解决方案将使您免于清除应用程序数据。现在解决卸载问题。制作一个广播接收器,当从设备上卸载任何应用程序时触发。一旦用户尝试卸载您的应用程序,您就可以通过接收器捕获它并阻止它。这个广播接收器可以在一个单独的类中,比如 Watcher 类,它将与您的应用程序一起安装。 你可以轻松做到。有很多例子。

    【讨论】:

    • 我担心的是,您正在阻止卸载违背用户意愿的应用程序。因此,使用这种方法,您可能会在更广泛的范围内让用户疏远您的应用程序和您的品牌。重要的是不允许用户在超过试用期后使用应用程序,但防止卸载不是一个好的选择。
    • 那么我建议您记录下安装了您的应用程序的设备。开始时检查服务器的到期时间,即使是单个 csv 也会记录设备 ID 和安装日期。但显然你需要互联网连接才能这样做。
    猜你喜欢
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 2019-07-27
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多