当应用程序从商店更新或首次安装在 Android 中时,如何调用特定函数?

Posted

技术标签:

【中文标题】当应用程序从商店更新或首次安装在 Android 中时,如何调用特定函数?【英文标题】:How to call a specific function when the app is updated from Store or is First installed in Android? 【发布时间】:2021-06-29 06:09:18 【问题描述】:

我有一个具有登录功能和自动登录功能的应用程序,在登录屏幕之前,会显示一个启动屏幕活动。在启动画面活动中,我想检查用户是否刚刚将应用程序从 Google Play 更新到更新版本,如果是,则始终向他显示登录屏幕。 所以我的问题是,如何检查当前版本的应用程序是否与上一个版本不同? 我尝试了在这个主题中找到的解决方案: Detect if new install or updated version (android app)

但是在这个函数中

public static boolean isInstallFromUpdate(Context context) 
    try 
        long firstInstallTime = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).firstInstallTime;
        long lastUpdateTime = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).lastUpdateTime;
        return firstInstallTime != lastUpdateTime;
     catch (PackageManager.NameNotFoundException e) 
        e.printStackTrace();
        return false;
    

这行总是truefirstInstallTime != lastUpdateTime;,但是在更新之后,如果我关闭应用然后重新打开它,这行应该是false。 如果您有任何建议或需要更多详细信息,请告诉我!谢谢

【问题讨论】:

【参考方案1】:

我认为一个简单的解决方案是,如果您有一个用于数据调用的移动应用管理面板,那么您必须将最新版本详细信息以及这些与数据相关的 API 调用存储到您的应用中,以便轻松检测您是否必须在管理中更改版本面板然后显示更新应用程序的对话框并重定向到播放商店...

这是我个人的看法,因为我用过这种方法.....

【讨论】:

以上是关于当应用程序从商店更新或首次安装在 Android 中时,如何调用特定函数?的主要内容,如果未能解决你的问题,请参考以下文章

更新 Android 应用(无需访问 Google Play 商店)

从 Play 商店安装时,Android Cordova 应用程序崩溃

首次启动后应用程序崩溃

如何在 Google Play 商店首次发布具有特定日期的 Android 应用程序? [关闭]

应用程序在从 Play 商店首次启动时崩溃

使用 android play store update 更新 android URI 方案