Получение ошибки INSUFFICIENT_STORAGE = -10 при установке функционального модуля Dynami c для устройства Specifi c с именем Redmi K20 PRO - PullRequest
2 голосов
/ 10 февраля 2020

Я реализовал динамический c функциональный модуль . Базовый модуль успешно установлен, но когда я запрашиваю модуль Dynami c, он загружается, но выдает ошибку при установке, говоря INSUFFICIENT_STORAGE = -10 из библиотеки PlayCore , даже если места много (больше чем 18GB). Он работает так же гладко, как масло для всех остальных пользователей.

@Override
public void onStateUpdate(SplitInstallSessionState splitInstallSessionState) {
    long totalModuleSize = splitInstallSessionState.totalBytesToDownload();
    long downloadedBytes = splitInstallSessionState.bytesDownloaded();

    Log.d(TAG, "onStateUpdate() called with: totalModuleSize = [" + totalModuleSize + "]" + "  :   " +
            "+downloadedBytes = [" + downloadedBytes + "]");


    if (splitInstallSessionState.status() == SplitInstallSessionStatus.REQUIRES_USER_CONFIRMATION) {

        try {
            splitInstallManager.startConfirmationDialogForResult(
                    splitInstallSessionState, this, MY_REQUEST_CODE_UGAM);
        } catch (IntentSender.SendIntentException e) {
            Log.e(TAG, "onStateUpdate: IntentSender.SendIntentException : " + e.getMessage());
        }
    } else if (splitInstallSessionState.status() == SplitInstallSessionStatus.INSTALLING) {
        mCustomProgressDialog.setMessage(getString(R.string.installing_dailog_message_base));
        return;
    } else if (splitInstallSessionState.status() == SplitInstallSessionStatus.INSTALLED) {
        if (mCustomProgressDialog != null && mCustomProgressDialog.isShowing()) {
            mCustomProgressDialog.dismiss();
        }
        performLogin();

    } else if (splitInstallSessionState.status() == SplitInstallSessionStatus.FAILED) {
        if (mCustomProgressDialog != null && mCustomProgressDialog.isShowing()) {
            mCustomProgressDialog.dismiss();
        }
        if (splitInstallSessionState.errorCode() == SplitInstallErrorCode.NETWORK_ERROR) {
            showAlertDialogWithOkBtn(getString(R.string.dynamic_module_download_failed_base_network_err));

        } else if (splitInstallSessionState.errorCode() == SplitInstallErrorCode.INSUFFICIENT_STORAGE) { //  this is true in Redmi K20 PRO
            showAlertDialogWithOkBtn(getString(R.string.dynamic_module_download_failed_base_insufficient_storage));

        } else {
            showAlertDialogWithOkBtn(getString(R.string.dynamic_module_download_failed_base) + " (" + splitInstallSessionState.errorCode() + ")");
        }
    }

    if (totalModuleSize == 0) {
        return;
    }
    final int progress = ((int) (((double) downloadedBytes / (double) totalModuleSize) * 100));

    Log.d(TAG, "onStateUpdate: progress : " + progress);
    mCustomProgressDialog.setMessage(getString(R.string.downloading_dialog_message_base) + String.valueOf(progress) + "%");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...