0

有没有办法在卸载应用程序之后保留一些数据,然后再将其安装在设备上。我需要检查我的应用程序以前是否已安装在个人设备上。卸载应用程序后保留数据

回答

0

是的,如果您将应用程序数据保存在设备的外部存储中,因为即使您的应用程序已卸载,该数据也不会被删除。

重新安装应用程序后,您可以读取文件数据以确定是以前安装的应用程序还是全新安装以防文件不存在。

注意: -外部数据目录中的数据对用户是可见的,因此用户可能会从文件管理器中删除数据。

+0

创建一个隐藏的文件夹或文件。用户不会看到它,除非他选择显示隐藏文件夹选项。你所要做的就是添加'。'后面的文件夹或文件名称,如“.MyAppFile” –

+0

这是什么问题。我不想将文件保存在外部设备上,因为我不想与用户共享该数据。这是非常私人的数据,正如我告诉你,这是非常重要的,我也不让用户删除该文件 –

+0

因此,可能你可以在你的应用程序启动期间发送设备ID。服务器将拥有安装应用程序的所有设备的设备ID。检查您是否可以从服务器和商店的设备的内部存储器中下载该数据。 –

0

您可以使用共享首选项来存储此数据。 使用MODE_WORLD_READABLE创建共享引用。 当应用程序运行时,您可以将标志设置为true,并且可以在每次安装时提取此值以确定此值是否存在。 类似下面:

当应用程序被运行(在您的应用程序,这是触发第一个启动代码编写代码):

SharedPreferences sharedpreferences = context.getSharedPreferences("test", Context.MODE_WORLD_READABLE); 
       SharedPreferences.Editor editor = sharedpreferences.edit(); 
       editor.putString("app_already_installed", "true"); 
       editor.commit(); 

检查应用程序是否已安装(写这哪里你想检查以前的安装):

SharedPreferences sharedpreferences = context.getSharedPreferences("test", Context.MODE_WORLD_READABLE); 
String is_app_already_installed= sharedpreferences.getString("app_already_installed", "false"); 

if(is_app_already_installed.equals("true"){ 
//do-something 
} 
else{ 
//do-something 
} 
相关问题