试用期存储文件的最佳位置/区域

4

我需要在我的应用中设置试用期(7天)。从这里我了解到,通过保留永久的文件、数据库或共享偏好设置可以实现这一点。

我应该把这个文件放在哪里,以便用户无法查看或删除它。

如果我把这个逻辑放在共享偏好设置或路径为 "data/data/packagename" 的文件中,则当应用程序被卸载时,所有历史记录都将丢失。

还有其他的解决方法或想法吗?

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


我认为在安卓系统中,如果你不使用网络,没有一个可靠的选项可以跨安装存储数据。 - Krishnabhadra
3个回答

1
我认为更好的解决方法是加密您的文件,然后将其存储在随机位置。这样,即使用户可以访问该文件,他/她也最不可能知道它的目的并删除它。而且,Android 对加密有很好的支持。
看一下这些链接,以帮助您入门: Android 加密实现 Android 开发者:加密包概述

0

您可以将其存储为隐藏状态,这样用户就无法删除它

请参见this


4
可以在路由设备上运行Bash终端,从中用户可以查看并删除隐藏文件。 - Krishnabhadra

0
我会建议将应用程序的数据设置为无法从清单中清除,方法如下:

android:manageSpaceActivity="YourStartingActivity" 

在应用程序标签中。

现在将应用程序放置在数据库或应用程序文件夹中。这个解决方案将使您免于清除应用程序数据。现在来谈卸载问题。创建一个广播接收器,当设备上卸载任何应用程序时触发。一旦用户尝试卸载您的应用程序,您可以通过接收器捕获并防止它。这个广播接收器可以是一个单独的类,比如Watcher类,它将与您的应用程序一起安装。 您可以轻松地完成它。有许多例子。


我的担忧是,这样做会阻止用户卸载应用程序,这违反了用户的意愿。因此,采用这种方法可能会使用户对您的应用程序和品牌产生反感。重要的是,用户不应被允许在试用期过后继续使用该应用程序,但防止卸载并不是个好选择。 - Orlymee
那我建议您记录安装您的应用程序的设备。在启动时从服务器检查到期日,甚至可以使用单个CSV记录设备ID及其安装日期。但显然,您需要互联网连接才能这样做。 - Awais Tariq

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接