u***@163.com
u***@163.com
  • 发布:2023-05-26 18:49
  • 更新:2023-12-07 16:52
  • 阅读:511

uniapp本地打包,写在uniapp里面获取设备sn的代码不生效了

分类:uni-app

求教大佬们,排查了其他问题,程序可以正常运行,给SN写死也能跑下去,但是无法动态获取当前设备的SN(SerialNo),
感觉是可能缺少某些权限啥的?
下面是获取SN的代码:

// #ifdef APP-PLUS  
            var Build = plus.android.importClass("android.os.Build");  
            var Manifest = plus.android.importClass("android.Manifest");  
            var MainActivity = plus.android.runtimeMainActivity();  
            var SystemProperties = plus.android.importClass("android.os.SystemProperties")  
            var serial = ''  
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { //9.0+  
                var ArrPermissions = [  
                    Manifest.permission.READ_PHONE_STATE,  
                ];  

                function PermissionCheck(permission) {  
                    if (Build.VERSION.SDK_INT >= 23) {  
                        if (MainActivity.checkSelfPermission(permission) == -1) {  
                            return false;  
                        }  
                    }  
                    return true;  
                }  

                function PermissionChecks(Arr) {  
                    var HasPermission = true;  
                    for (var index in Arr) {  
                        var permission = Arr[index];  
                        //如果此处没有权限,则是用户拒绝了  
                        if (!PermissionCheck(permission)) {  
                            HasPermission = false;  
                            break;  
                        }  
                    }  
                    return HasPermission;  
                }  

                function PermissionRequest(Arr) {  
                    var REQUEST_CODE_CONTACT = 101;  
                    if (Build.VERSION.SDK_INT >= 23) {  
                        MainActivity.requestPermissions(Arr, REQUEST_CODE_CONTACT);  
                    }  
                }  
                //如果没有权限,则申请权限  
                if (!PermissionChecks(ArrPermissions)) {  
                    PermissionRequest(ArrPermissions); //此处申请权限,会弹出一个让你授权可获取设备号信息权限框  
                } else { //如果拥有权限  
                    serial = Build.getSerial()  
                }  
            } else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) { //8.0+  
                if (Build.SERIAL) {  
                    serial = Build.SERIAL;  
                }  
            } else {  
                if (SystemProperties.get('ro.serialno')) {  
                    serial = SystemProperties.get('ro.serialno')  
                }  
            }  
            this.sn = serial  
// #endif
2023-05-26 18:49 负责人:无 分享
已邀请:

最佳回复

u***@163.com

u***@163.com (作者)

    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>

直接复制粘贴好像不显示

u***@163.com

u***@163.com (作者)

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
好像是少了这个权限,有同样问题的可以试一下

Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

哪个权限

  • u***@163.com (作者)

    才看到,见下贴

    2023-06-19 16:44

3***@qq.com

3***@qq.com

Android11是unknow

要回复问题请先登录注册