1. 程式人生 > 實用技巧 >使用者拒絕小程式地理位置/手機相簿等授權之後再次喚起授權

使用者拒絕小程式地理位置/手機相簿等授權之後再次喚起授權

有時候,你們在開發小程式會遇到 授權 手機相簿, 授權地理位置之類的要求, 但是使用者拒絕之後, 點選就沒反應了,不用急,容我來講解!!

demo圖:

wx.saveImageToPhotosAlbum 為例:

使用者點選拒絕之後, 再次點選喚起: wx.openSetting

大家都知道用wx.openSetting

但是這邊有個坑!!!!!!!!!!

當你在fail回撥中美滋滋的加上wx.openSetting的時候,發現並不能跳轉,,而且我測試的是,在部分機型可以跳轉。

所以,我們需要編寫wx.showModal提示框,當用戶點選確定時用wx.openSetting()引導使用者前往授權設定頁面開啟授權。

demo程式碼:

wx.saveImageToPhotosAlbum({
          filePath: res.tempFilePath, //圖片路徑/地址,自己隨便寫個線上的  或者 臨時路徑都可以
          success(res) {
            wx.showToast({
              title: '儲存到手機成功',
            })
          },
          fail(err) {
            console.log(err)
              wx.showModal({
                title: '提示',
                content: '需要您授權儲存相簿',
                showCancel: true,//是否顯示取消按鈕
                success: res => {
                  if (res.confirm) {
                    console.log('使用者點選確定')
                    wx.openSetting({
                      success: res2 => {
                        if (res2.authSetting['scope.writePhotosAlbum']) {
                          wx.showToast({
                            title: '授權相簿成功',
                          })
                        }
                      },
                      fail: err2 => {
                        console.log(err2)
                      }
                    })
                  } else if (res.cancel) {
                    console.log('使用者點選取消')
                  }
                }
              })
          }
        })
<button size="mini"  bindtap="downloadFile">下載圖片</button>
</block>
//圖片自己找吧

更多參考: 1. https://www.jianshu.com/p/77b8d520ba3f (小程式儲存圖片到本地授權問題)

      2. https://blog.csdn.net/seawaysyyy/article/details/102472375?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight

(微信小程式簡單實現授權遭拒後彈窗拉取授權(以儲存圖片到相簿授權為例))