3***@qq.com
3***@qq.com
  • 发布:2019-08-15 09:41
  • 更新:2023-02-17 16:37
  • 阅读:14281

uniapp关于使用plus.device.getInfo获取imei的值的经验分享

分类:uni-app

自从新版本的hbuilder x逐渐废弃plus.device.imei的时候,我这边也开始使用plus.device.getInfo,但是使用的过程中发现获取不到imei的值,后面才发现我使用的方法不对,不能像使用 plus.device.imei 的时候直接给变量赋值 然后下文在使用。

不明白的或者看不懂的,直接把我下面的案例代码,拿去执行一下 就就会明白了,imei是怎样获取的

下面直接上一个案例

//开始复制

plus.device.getInfo({
success:function(e){
//这里获取到imei 剩下的逻辑也写在这里面
var imei=e.imei;
//里面写接下来的逻辑
console.log('imei='+imei);//这里是能获取imei的
}
})

//不能在外面再来使用imei 一般是获取不到值的
console.log(imei);//这里的imei是空的 是获取不到的 因为和上面的方法是同时执行的 所以这个时候的imei并没有值

//结束

0 关注 分享

要回复文章请先登录注册

codeweeei

codeweeei

回复 2***@qq.com :
哥们,你这个问题解决了吗
2023-02-17 16:37
2***@qq.com

2***@qq.com

更我这个获取的imsi和IMEI都是空值。有大佬知道怎么解决吗
2022-08-03 09:13
h***@163.com

h***@163.com

aaaa
2022-01-09 21:36
e***@126.com

e***@126.com

回复 SimpleJalon :
多谢
2021-11-19 08:41
旁观者

旁观者

回复 启程588 :
这个问题大佬有解决方案了吗
2021-01-02 17:17
gotogether

gotogether

那个是异步方法,回调没成功前肯定获取不到啊,逻辑写在success里不就行了
2020-04-21 10:08
SimpleJalon

SimpleJalon

回复 SimpleJalon :
```javascript
var helper ={}
helper.getDeviceInfo = function() {
// #ifdef APP-PLUS
return new Promise((succ, error) => {
plus.device.getInfo({
success: function(e) {
console.log(e)
e.imei = e.imei.split(",");
e.uuid = e.uuid.split(",");
succ.call(self, e)
},
fail: function(e) {
error.call(self, e)
}
});
})
// #endif

}

// 调用
async aaa(){
var getinfo = await helper.getDeviceInfo();
}
```
2019-09-02 17:11
SimpleJalon

SimpleJalon

```javascript

helper.getDeviceInfo = function() {
// #ifdef APP-PLUS
return new Promise((succ, error) => {
plus.device.getInfo({
success: function(e) {
console.log(e)
e.imei = e.imei.split(",");
e.uuid = e.uuid.split(",");
succ.call(self, e)
},
fail: function(e) {
error.call(self, e)
}
});
})
// #endif

}
```
2019-09-02 17:10
3***@qq.com

3***@qq.com (作者)

回复 启程588 :
return 试试 我是直接在里面使用的 没有调用过
2019-09-02 16:50
启程588

启程588

里面是异步调用,不知道怎么返回值,请大神们指点下

// 获取设备信息
function getDeviceInfo(){
plus.device.getInfo({
success:function(e){
console.log('getDeviceInfo success: '+JSON.stringify(e));
},
fail:function(e){
console.log('getDeviceInfo failed: '+JSON.stringify(e));
}
});
}

怎么能改成 直接返回e的函数
2019-09-01 16:01