我正在实施Android应用程序内更新,但是在测试过程中从来没有可用的更新。我在Play商店中将签名的APK版本上传到Beta。这是我在活动的onCreate
中实现的代码:
// Creates instance of the manager.
AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(this);
appUpdateManager
.getAppUpdateInfo()
.addOnSuccessListener(
appUpdateInfo -> {
Log.i(LOG_TAG, "appUpdateInfo.updateAvailability() = " + appUpdateInfo.updateAvailability());
Log.i(LOG_TAG, "appUpdateInfo.getResult().toString() = " + appUpdateInfo.toString());
// Checks that the platform will allow the specified type of update.
if ((appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE)
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE))
{
// Request the update.
Log.i(LOG_TAG, "request the update");
}
}
);
日志输出以下内容:
appUpdateInfo.updateAvailability() = 1
appUpdateInfo.getResult().toString() = AppUpdateInfo{packageName=com.my.package, availableVersionCode=0, updateAvailability=1, installStatus=0, clientVersionStalenessDays=-1, bytesDownloaded=0, totalBytesToDownload=0, immediateUpdateIntent=null, flexibleUpdateIntent=null}
在我拥有的build.gradle
内
implementation 'com.google.android.play:core:1.6.4'
我的设备至少运行API 21,并且由于我要从Play商店下载Beta版本,因此APK已签名。是什么导致availableVersionCode
和installStatus
均为0?即使我设备上已签名的APK versionCode
低于Play商店中的APK,updateAvailability
始终为UPDATE_NOT_AVAILABLE
。