使用者拒絕小程式地理位置/手機相簿等授權之後再次喚起授權
阿新 • • 發佈:2020-08-17
有時候,你們在開發小程式會遇到 授權 手機相簿, 授權地理位置之類的要求, 但是使用者拒絕之後, 點選就沒反應了,不用急,容我來講解!!
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 (小程式儲存圖片到本地授權問題)