uniapp上架用户首次拒绝定位权限后 再次打开APP重复弹窗

1 下载插件App权限判断和提示 使用步骤很清楚

重复弹窗的页面
<script>
import permision from "@/js_sdk/wa-permission/permission.js"
        onLoad: {
            //检测使用设备
            // #ifdef APP-PLUS
            let platform = uni.getSystemInfoSync().platform
            if (platform == 'ios') {
                //调起定位的函数 ,就是因为这个函数使用了uni.getLocation API 所以会弹出两次权限
                this.onGetArea()
            }
            if (platform == 'android') {
                //"android.permission.ACCESS_FINE_LOCATION"是定位的权限id  ,之前忘传 一直走的-1,被永久拒绝权限
                this.requestAndroidPermission('android.permission.ACCESS_FINE_LOCATION')
       //这个是插件内的另一种获得判断的方法 没有测试正确性
                // let openAddress = permision.checkSystemEnableLocation()
                // if (openAddress) {
                //  this.onGetArea()
                // }
            }
            // #endif
        },
        methods: {
            //检测授权情况 处理对应业务逻辑 ,
            async requestAndroidPermission(permisionID) {
                const result = await permision.requestAndroidPermission(permisionID)
                if (result == 1) {
           this.onGetArea()
                    console.log('已授权,可以调起')
                } else if (result == 0) {
                    console.log('未获得授权,询问; 根据业务逻辑看是否需要提醒用户去设置开启权限')

                } else {
                    console.log('被永久拒绝权限; 根据业务逻辑看是否需要提醒用户去设置开启权限')

                }
                // uni.setStorageSync('strStatus')
            },
        }

<script>

总结: 这个插件可以检测用户是否授权某种权限 只需要传入权限id 好用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容