Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 用于存储试用期文件的最佳位置/区域_Android_File_Sharedpreferences_Trial - Fatal编程技术网

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

Android 用于存储试用期文件的最佳位置/区域,android,file,sharedpreferences,trial,Android,File,Sharedpreferences,Trial,我需要有一个试用期(7天)在我的申请。从我了解到,您可以通过保存永久文件、数据库或共享首选项来实现这一点 我应该将该文件保存在何处,以便用户无法查看/删除该文件 如果我将该逻辑放入SharedReference或路径为“data/data/packagename”的文件中,则卸载应用程序时,所有历史记录都将丢失 还有其他解决方法/想法吗 注意:没有服务器,应用程序在本地工作,没有Internet。您可以将其存储为隐藏,这样用户就没有机会删除 请参见我想说一个更好的解决方法是加密您的文件,然后将其

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

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

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

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


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

您可以将其存储为隐藏,这样用户就没有机会删除


请参见

我想说一个更好的解决方法是加密您的文件,然后将其存储在随机位置。这样,即使用户有权访问该文件,他/她也不太可能说出它的用途并删除它。Android也非常支持加密

请查看以下内容,以便开始:


我想说,将无法从清单中清除的应用程序数据设置为:

android:manageSpaceActivity="YourStartingActivity" 
在应用程序标记中

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

可能重复我不认为android中存在可靠的选项来跨安装存储数据(如果您不使用网络)。您可以在路由设备上运行bash终端,用户可以从那里查看和删除隐藏文件。我担心的是,您会阻止卸载违背用户意愿的应用程序。因此,使用这种方法,您可能会在更大范围内疏远用户,使其与您的应用程序和品牌疏远。重要的是,不允许用户在过期后使用应用程序,但防止卸载不是一个好的选择。然后,我建议您保留安装应用程序的设备的记录。开始时,从服务器上检查到期日,即使是单个csv,也会记录设备id和安装日期。但很明显,你需要互联网连接才能做到这一点。