是否有办法检查Android应用程序是否第二次安装在同一设备中以及第一次安装日期。Google Play Services
提供api来获取有关应用程序安装和卸载的详细信息。< / p>
答案 0 :(得分:1)
您可以创建自己的服务器,在移动设备上安装应用时,获取IMEI
代码并发送到服务器并将其存储在database
中。如果用户再次安装该应用程序,并且在服务器上获得IMEI
代码比较并检查是否存在IMEI
。如果存在,他将再次安装,否则他正在安装first time
。
答案 1 :(得分:0)
我没有听说过这种Play Services
可能性。但你可以像@wqrahd告诉你那样做,或者只是在server
部分,在你的外部存储器上创建文件。
并检查您是否正在安装或更新应用程序使用SharedPreferences。应用程序更新后不会删除它们,因此您可以创建一些迁移方案并进行检查,如下所示:
public class MigrationManager {
private final static String KEY_PREFERENCES_VERSION = "key_preferences_version";
private final static int PREFERENCES_VERSION = 2;
public static void migrate(Context context) {
SharedPreferences preferences = context.getSharedPreferences("pref", Context.MODE_PRIVATE);
checkPreferences(preferences);
}
private static void checkPreferences(SharedPreferences thePreferences) {
final double oldVersion = thePreferences.getInt(KEY_PREFERENCES_VERSION, 1);
if (oldVersion < PREFERENCES_VERSION) {
final SharedPreferences.Editor edit = thePreferences.edit();
edit.clear();
edit.putInt(KEY_PREFERENCES_VERSION, currentVersion);
edit.commit();
}
}
}
我写了一篇关于偏好的article,其中描述了迁移方案。干杯
答案 2 :(得分:0)
我不认为共享首选项可以解决此问题,就好像用户可以清除数据
设置&gt;应用&GT;管理应用程序&gt;
所有数据都将丢失。需要其他解决方案。