gpt4 book ai didi

java - 如何在应用程序更新中实现 "IMMEDIATE"?

转载 作者:行者123 更新时间:2023-12-02 01:28:01 26 4
gpt4 key购买 nike

我已经在 Google Play 商店中启动了应用程序,对于该应用程序,我需要实现立即应用程序更新,以解决已经在使用我的应用程序的问题

  1. 我已经尝试过 Github 示例,这些示例是灵活更新而不是立即更新。

  2. 在 Android 开发者网站中,我也经历过,但没有得到正确的示例

最佳答案

尝试以下方法进行应用内更新,以立即更新 Android 应用程序。

在应用程序构建 gradle 文件中添加以下行。

implementation 'com.google.android.play:core:1.6.3'

为了获得更好的方法,请将这个单一方法代码放在 MainActivity 中并在 onCreate() 方法中调用。

  AppUpdateManager appUpdateManager;

private void inAppUpdate() {
// Creates instance of the manager.
appUpdateManager = AppUpdateManagerFactory.create(this);

// Returns an intent object that you use to check for an update.
Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();

// Checks that the platform will allow the specified type of update.
appUpdateInfoTask.addOnSuccessListener(new OnSuccessListener<AppUpdateInfo>() {
@Override
public void onSuccess(AppUpdateInfo appUpdateInfo) {

Log.e("AVAILABLE_VERSION_CODE", appUpdateInfo.availableVersionCode()+"");
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
// For a flexible update, use AppUpdateType.FLEXIBLE
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
// Request the update.

try {
appUpdateManager.startUpdateFlowForResult(
// Pass the intent that is returned by 'getAppUpdateInfo()'.
appUpdateInfo,
// Or 'AppUpdateType.FLEXIBLE' for flexible updates.
AppUpdateType.IMMEDIATE,
// The current activity making the update request.
HomeActivity.this,
// Include a request code to later monitor this update request.
UPDATE_REQUEST_CODE);
} catch (IntentSender.SendIntentException ignored) {

}
}
}
});

appUpdateManager.registerListener(installStateUpdatedListener);

}
//lambda operation used for below listener
InstallStateUpdatedListener installStateUpdatedListener = installState -> {
if (installState.installStatus() == InstallStatus.DOWNLOADED) {
popupSnackbarForCompleteUpdate();
} else
Log.e("UPDATE", "Not downloaded yet");
};


private void popupSnackbarForCompleteUpdate() {

Snackbar snackbar =
Snackbar.make(
findViewById(android.R.id.content),
"Update almost finished!",
Snackbar.LENGTH_INDEFINITE);
//lambda operation used for below action
snackbar.setAction(this.getString(R.string.restart), view ->
appUpdateManager.completeUpdate());
snackbar.setActionTextColor(getResources().getColor(R.color.your_color));
snackbar.show();
}

考特西 here

关于java - 如何在应用程序更新中实现 "IMMEDIATE"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56560910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com