微信小程序的多端应用模式编译的安卓App如何实现应用内更新(没有使用框架),需要调用哪些接口?

微信小程序的多端应用模式编译的安卓App如何实现应用内更新(没有使用框架),需要调用哪些接口?

安卓应用未上架应用商店

有特定的更新服务器或CDN服务用于分发更新包

暂时不知道如何尝试,期望安卓App能实现应用内更新

阅读 886
1 个回答

建议先查看文档

https://dev.weixin.qq.com/docs/miniapp/api/miniapp/installApp...
https://developers.weixin.qq.com/miniprogram/dev/platform-cap...


需要重新下载的问题

调用wx.downloadFile执行success回调后,
有一个res.tempFilePath,
你把这个res.tempFilePath存到一个变量里,存在这个变量就别调用wx.downloadFile了

let cacheApkFilePath = ''
function getApkFilePath() {
  return cacheApkFilePath
    ? { apkFilePath: cacheApkFilePath }
    : new Promise(resolve => wx.downloadFile({
      url: 'http://xxxx/包名.apk',
      timeout: 0,
      success(res) {
        cacheApkFilePath = res.tempFilePath
        resolve({ apkFilePath: res.tempFilePath })
      },
      fail(res) {
        resolve({ apkFilePath: '', errMsg: '下载失败,请重试' })
      }
  }))
}

async function updateApp() {
  const { apkFilePath, errMsg } = await getApkFilePath()
  if (!apkFilePath) {
    wx.showModal({
      title: '提示',
      content: errMsg,
    })
    return
  }
  wx.miniapp.installApp({
    filePath: apkFilePath,
    success(res) {
      console.log('install app success', res)
    },
    fail(res) {
      console.log('install app fail', res)
    }
  })
}

下载进度,见微信文档

https://developers.weixin.qq.com/miniprogram/dev/api/network/...
https://developers.weixin.qq.com/miniprogram/dev/api/network/...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题