2***@qq.com
2***@qq.com
  • 发布:2024-10-09 20:50
  • 更新:2024-10-10 12:00
  • 阅读:121

请教大佬们关于获取本机号码的问题

分类:uni-app

大佬们,我用uniapp获取本机号,在我自己的设备上可以正常请求授权获取到手机号,但是在其他设备上一个都获取不到是为什么,也向系统申请授权了对方也同意了就是获取不到,我的设备是HyperOS Android 14 对方是miui14 Android 14 和OPPO的 Android 11 按道理连说Android版本越高限制越高越大啊这是我的代码
这是我自己手机获取的信息
20:42:15.408 运营商:中国电信手机号+4416797376797 at pages/index/index.vue:100
对方的直接就是空

handles(e) {  
                console.log(e)  
                if (e == 1) {  
                    this.show = false;  
                    return this.init();  
                }  
                if(e==49){  
                    console.log("设置权限")  
                    let main = plus.android.runtimeMainActivity();  
                    let Intent = plus.android.importClass('android.content.Intent');  
                    let Settings = plus.android.importClass('android.provider.Settings');  
                    let Uri = plus.android.importClass('android.net.Uri');  

                    let intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);  
                    let uri = Uri.fromParts('package', main.getPackageName(), null);  
                    intent.setData(uri);  

                    // 启动应用设置页面  
                    main.startActivity(intent);  
                    this.quit()  
                    return  

                }  
                this.show = false;  
                this.quit();  
            },  
            init() {  
                //申请权限  
                plus.android.requestPermissions(["android.permission.READ_PHONE_STATE"], (e) => {  
                    if (e.deniedAlways.length > 0) { //权限被永久拒绝  
                    console.log("永久禁止")  
                    this.msg="Please authorize us to obtain telephone information in order to serve you better."  
                    this.k=49  
                    this.show=true  
                    return  
                    }  
                    if (e.deniedPresent.length > 0) { //权限被临时拒绝  
                        // 弹出提示框解释为何需要定位权限,可再次调用plus.android.requestPermissions申请权限  
                        console.log("临时")  
                        this.msg="Please authorize us to obtain telephone information in order to serve you better."  
                        this.k=49  
                        this.show=true  
                        return  
                    }  
                    if (e.granted.length > 0) { //权限被允许  
                    console.log("允许")  
                        //调用依赖获取定位权限的代码  
                        plus.android.importClass('android.telephony.TelephonyManager');  
                        let context = plus.android.importClass('android.content.Context');  
                        let TelephonyManager = plus.android.runtimeMainActivity().getSystemService(context  
                            .TELEPHONY_SERVICE);  
                        let OperatorName = TelephonyManager.getSimOperatorName(); // 运营商  
                        let phoneNumber = TelephonyManager.getLine1Number(); // 手机号  
                        console.log("运营商:"+OperatorName+"手机号"+phoneNumber)  
                        // if (phoneNumber == null || phoneNumber === "") {  
                        //  console.log("空白通行证");  
                        //  plus.runtime.quit();  
                        //  return;  
                        // }  
                    }  
                }, (e) => {  
                    console.log("错误:")  
                    console.log(e)  
                })  

            },
2024-10-09 20:50 负责人:无 分享
已邀请:
唐家三少

唐家三少 - 我要写代码

这个方案,OS系统都禁止了。

正确方案是使用uni一键登录,由运营商返回手机号。

要回复问题请先登录注册