直接更新错误FAILURE_UNZIPPING

时间:2016-02-07 16:38:17

标签: android ibm-mobilefirst

我们正在自定义DirectUpdate流程,如文档(https://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.dev.doc/dev/c_customizing_direct_update_ui_android_wp8_ios.html - 使用directUpdateCustomListener),但在onFinish回调中状态为FAILURE_UNZIPPING。

我正在Android(5.1.1)模拟器上进行测试。

function wlCommonInit(){
    WL.Client.connect({
        onSuccess: function() {
            console.log("Successfully connected to Worklight Server.");
        }, onFailure: function() {
            console.log("Failed connecting to Worklight Server.");
        }
    });
}

var busyInd = new WL.BusyIndicator('content');
var savedDirectUpdateContext = null;
var restartDirectUpdate = function () {
    if (savedDirectUpdateContext != null) {
        savedDirectUpdateContext.start(directUpdateCustomListener); // use saved direct update context to restart direct update
    }
};

var directUpdateCustomListener = {
    onStart: function(totalSize) {
        busyInd.show();
    },
    onProgress: function(status, totalSize, completeSize) {},
    onFinish: function(status) {
        busyInd.hide();
        console.log("[MFP - DirectUpdate] Finish status: " + status);

        var posSuccess = status.indexOf("SUCCESS");
        if (posSuccess > -1) {
            WL.Client.reloadApp();
        } else {
            WL.SimpleDialog.show('Update Failed', 'Press try again button', [{
                text: "Try Again",
                handler: restartDirectUpdate // restart direct update
            }]);
            wl_directUpdateChallengeHandler.submitFailure();
        }
    }
};

wl_directUpdateChallengeHandler.handleDirectUpdate = function(directUpdateData, directUpdateContext) {
    savedDirectUpdateContext = directUpdateContext

            WL.SimpleDialog.show('Update Avalible', 'Press Update button to download the new version!', [{
                text : 'Update',
                handler : function() {
                    directUpdateContext.start(directUpdateCustomListener);
                }
            }, {
                text : 'Cancel',
                handler : function() {
                    wl_directUpdateChallengeHandler.submitFailure();
                }
            }]);
};

我们如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

自定义代码工作正常,没有安装zxing。我建议您在没有此库的情况下尝试相同的操作。如果有效,我怀疑一旦收到更新,它可能正在初始化或以其他方式干扰直接更新过程。

考虑稍后在应用程序生命周期中加载库,看看是否有帮助。