Javascript Can';安装更新的apk后,请不要重新打开应用程序
我使用Cordova(现在在playstore上)为android开发了一个应用程序,现在实现了自动更新。下面是我正在使用的插件列表Javascript Can';安装更新的apk后,请不要重新打开应用程序,javascript,android,cordova,Javascript,Android,Cordova,我使用Cordova(现在在playstore上)为android开发了一个应用程序,现在实现了自动更新。下面是我正在使用的插件列表 cordova插件应用程序版本 cordova插件文件 cordova插件文件传输 cordova插件android权限 cordova-plugin-file-opener2(我尝试过webIntent插件,但对我不起作用) 当我安装下载的APK时,它将关闭,而不是显示“打开屏幕” 为了解决这个问题,您是否能够准确地调试哪一行代码以崩溃告终?如果您正在将日志写入
为了解决这个问题,您是否能够准确地调试哪一行代码以崩溃告终?如果您正在将日志写入文件,您可以在本地使用日志进行调试,或者您可以使用crashlytics()之类的工具。我正在使用chrome DevTools调试我的应用程序,但我在控制台中没有收到任何错误。这应该作为注释发布,因为它不会回答问题。可能重复的不是,我已经看到了这一点,但这不是我所面临的。它会以不同的方式崩溃吗?是的,在安装应用程序被杀死后,我没有收到任何消息。如果我再次打开它,它的工作与更新的版本非常好。
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
var permissions = cordova.plugins.permissions;
permissions.checkPermission(permissions.WRITE_EXTERNAL_STORAGE, function (status) {
console.log(status);
if (!status.hasPermission) {
var errorCallback = function () {
console.log("Error: app requires storage permission");
};
permissions.requestPermission(permissions.WRITE_EXTERNAL_STORAGE,
function (status) {
if (!status.hasPermission)
errorCallback();
else {
downloadFile(fileSystem);
}
},
errorCallback);
}
else {
downloadFile(fileSystem);
}
}, null);
var downloadFile = function (fileSystem) {
var localPath = 'file:///storage/emulated/0/download/myApp.apk',
fileTransfer = new FileTransfer();
fileTransfer.download(encodeURI("URL"), localPath, function (entry){
cordova.plugins.fileOpener2.open(
entry.nativeURL,
'application/vnd.android.package-archive',
{
error : function(e) {
console.log('Error status: ' + e.status + ' - Error message: ' + e.message);
},
success : function () {
console.log('file opened successfully');
}
}
);
}, function (error) {
console.log("Error downloading the latest updates! - error: " + JSON.stringify(error));
});
};
},function ( evt ) {
console.log( "Error preparing to download the latest updates! - Err - " + evt.target.error.code );
message = "Error preparing to download the latest updates, Try again later";
});