检查android App是第二次安装的

时间:2014-03-27 07:07:09

标签: android android-package-managers

是否有办法检查Android应用程序是否第二次安装在同一设备中以及第一次安装日期。Google Play Services提供api来获取有关应用程序安装和卸载的详细信息。< / p>

3 个答案:

答案 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;

所有数据都将丢失。需要其他解决方案。