- 处理逻辑
在首页通过接口获取最新版本号和应用本地版本号比对,不一样则弹框提示是否更新( 强制更新和非强制更新), 苹果:直接跳转到应用商店,安卓:应用内下载.
参考连接:https://www.jianshu.com/p/ca8b97e5d4cd
按照上面连接的方法即可.当时出现了下载成功后不能安转,说包解析失败的问题,最后使用了import 'package:open_file/open_file.dart'这个库,就可以打开包所在的位置了,点击安装就行了
Future<void> tryOtaUpdate() async {
// 获取APP安装路径
Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;
try {
OtaUpdate()
.execute(widget.androidAddress, destinationFilename: 'history_study_app.apk')
.listen(
(OtaEvent event) {
if(event.status == OtaStatus.INSTALLING){
OpenFile.open("${appDocPath}/history_study_app.apk");
}
setState(() => currentEvent = event);
},
);
} catch (e) {
print('Failed to make OTA update. Details: $e');
}
}
网友评论