android - 在 App Update 中看到更新,但无法安装
问题描述
我将InAppUpdater 库用于 Android 应用内更新。
为了测试,我创建了一个简单的应用程序versionCode 3
(在此之前我versionCode 2
在内部测试轨道中发布,但我没有在我的应用程序中看到更新versionCode 1
)并将其上传到 Google play 的封闭轨道(alpha 版)中。在我安装的 Android 设备上versionCode 2
。
代码:
public class UpdateActivity extends AppCompatActivity {
private UpdateManager mUpdateManager;
static final int REQUEST_CODE = 781;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update);
TextView txtCurrentVersion = findViewById(R.id.currentVersion);
TextView txtAvailableVersion = findViewById(R.id.availableVersion);
txtCurrentVersion.setText(String.valueOf(BuildConfig.VERSION_CODE));
// Initialize the Update Manager with the Activity and the Update Mode
mUpdateManager = UpdateManager.Builder(this);
// Callback from Available version code
mUpdateManager.getAvailableVersionCode(code -> txtAvailableVersion.setText(String.valueOf(code)));
}
@Override
protected void onResume() {
super.onResume();
// Continue updates when resumed
mUpdateManager.continueUpdate();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Log.d("MyTag", "Result ok! Result code: " + resultCode);
}
else if(resultCode == RESULT_CANCELED){
Log.d("MyTag", "Result canceled! Result code: " + resultCode);
}
else if(resultCode == ActivityResult.RESULT_IN_APP_UPDATE_FAILED){
Log.d("MyTag", "In app update failed! Result code: " + resultCode);
}
}
}
public void tryToUpdate(View view){
mUpdateManager.mode(UpdateManagerConstant.FLEXIBLE).start();
}
}
启动后,我看到当前版本 = 2,可用版本 = 3,因此应用程序看到了更新。接下来我单击tryToUpdate
按钮并看到更新对话框,单击“更新”,等待,看到“刚刚下载了更新”,单击“重新启动”,查看安装活动,之后我的应用程序重新启动,我看到旧版本 - 当前version = 2,这就是问题所在。当然,我尝试手动关闭和打开应用程序,但我仍然看到旧版本。但是,如果我删除旧版本并从 Google Play 手动安装新版本,那么一切正常。
那么,我该如何解决呢?
解决方案
推荐阅读
- reactjs - withStyles : TypeError: prevDeps 未定义
- bash - 如何只保留下一行相同的行
- r - 在R中的箱线图中反转y轴
- android - React-native-firebase 后台通知(Android)
- python - 如何删除字典中值小于变量的所有项目?
- python - 无法通过 Scrapy 请求获取 JSON 数据
- graphics - 在DDA中,如果梯度<= 1,为什么以x的单位间隔对线进行采样
- python - 在 python 中使用 reg ex 捕获多行
- mongodb - MongoDb 约束只允许集合中的一个条目
- angularjs - Angular js控制器中的单元测试,使用http请求调用服务