问题描述
我正在尝试为我的Android应用实施强制更新。我已经在gradle构建文件中添加了依赖项。
implementation 'com.google.android.play:core:1.7.3'
接下来,我实现了一个简单的更新管理器来检查更新,然后按如下所示启动即时更新:
内部活动的onStart()
final AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(context);
final Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
appUpdateInfoTask.addOnSuccessListener(new OnSuccessListener<AppUpdateInfo>() {
@Override
public void onSuccess(AppUpdateInfo appUpdateInfo) {
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
try {
AppUpdateManager newApUpdateManager = AppUpdateManagerFactory.create(HomeActivity.this);
newApUpdateManager.startUpdateFlowForResult(appUpdateInfo,AppUpdateType.IMMEDIATE,HomeActivity.this,UPDATE_REQUEST_CODE);
} catch (IntentSender.SendIntentException e) {
e.printstacktrace();
}
}
}
});
最初没有调用onSuccess方法,因此我删除了解决此问题的 && 条件。但是,没有显示立即更新对话框,当我打印出appUpdateInfo时,会显示以下结果。
{packageName=com.dstgyr.dastgyr,availabLeversionCode=0,updateAvailability=1,installStatus=0,clientVersionStalenessDays=null,updatePriority=0,bytesDownloaded=0,totalBytesTodownload=0,additionalSpacerequired=0,assetPackStorageSize=0,immediateUpdateIntent=null,flexibleupdateIntent=null,immediateDestructiveUpdateIntent=null,flexibleDestructiveUpdateIntent=null}
更新可用性为1表示可用更新,但更新意图为null
。这就是为什么对话框不显示的原因吗?我该如何解决?
加上测试,我在android studio上创建了本地版本并降低了版本。这是测试更新的正确方法还是与问题有某种联系?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)