在“应用更新”中看到更新,但无法安装

时间:2019-09-10 20:01:34

标签: android google-play

我使用InAppUpdater library进行Android In App Update。

为了进行测试,我使用versionCode 3创建了一个简单的应用程序(在此之前,我在内部测试轨道中发布了versionCode 2,但我的应用程序中没有使用versionCode 1进行更新)并上传了它在Google播放的封闭轨道(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按钮,然后看到更新对话框,单击“更新”,等待,请参阅“刚刚下载了更新”,单击“重新启动”,请参阅安装活动,此后,我的应用程序重新启动,我看到了旧版本-当前版本= 2,这就是问题所在。当然,我尝试手动关闭并打开该应用程序,但仍然看到旧版本。但是,如果我删除旧版本并从Google Play手动安装新版本,则一切正常。

那么,我该如何解决呢?

0 个答案:

没有答案