0

我尝试在我的应用程序中使用 appUpdateManager,当我发布更新时,我可以在 PlayMarket 上看到它,所以当我在 playMarket 上打开我的应用程序页面时,有一个“更新”按钮,但我的方法 appUpdateInfo.updateAvailability() 总是返回UPDATE_NOT_AVAILABLE 和方法 appUpdateInfo.availableVersionCode() 总是返回 0。这是我的代码。拜托,任何想法都会对我有用。提前致谢。

public class CheckVersionFragment extends Fragment {

    @BindView(R.id.ll_updating)
    LinearLayout ll_updating1;

    private AppUpdateManager appUpdateManager;

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        ConnectivityManager connectivityManager = (ConnectivityManager) requireActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
        if (connectivityManager.getActiveNetwork() == null)
            launchMainFragment();
        else
            checkVersion();
    }
    
    public void checkVersion() {
        appUpdateManager = AppUpdateManagerFactory.create(requireActivity().getApplicationContext());
        appUpdateManager.registerListener(installStateUpdatedListener);
        com.google.android.play.core.tasks.Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
        appUpdateInfoTask.addOnFailureListener(fail ->launchMainFragment());
        appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
            if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE) {
                if ((appUpdateInfo.availableVersionCode() / 10) - (CURRENC_VERSION_CODE / 10) > 0)
                    mandatoryUpdate(appUpdateInfo);
                else
                    optionalUpdate(appUpdateInfo);
            } else
                launchMainFragment();
        });
        
    }
4

0 回答 0