当前位置: 首页 > news >正文

emblog wordpress杭州seo工作室

emblog wordpress,杭州seo工作室,做外贸一般在哪个网站,企业网站建设标准1、需求来源 最近项目上需要获取手机的IMEI码,并且在更换手机号登录后,需要提示重新更新IMEI码。 2、需求拆分 2.1 获取 IMEI 码 查阅 uni-app 官网发现在android 10 已经无法获取imei码,所以对于这个需求拆分成两种情况。 第一种情况&am…

1、需求来源

最近项目上需要获取手机的IMEI码,并且在更换手机号登录后,需要提示重新更新IMEI码。

2、需求拆分

2.1 获取 IMEI 码

查阅 uni-app 官网发现在android 10 已经无法获取imei码,所以对于这个需求拆分成两种情况。

第一种情况: android 10 以上 选择用户手动输入的方式。

第二种情况:android 10 以下,通过 plus.device.getInfo 自动获取的方式。

2.2 获取android 手机的唯一编码

2.2.1 通过 uni.getSystemInfoSync 获取

let { deviceId } = uni.getSystemInfoSync();

可以看出 deviceId 在清理缓存等情况下,会存在不唯一的情况。

2.2.2 通过 plus.device.getOAID 获取

可以发现该方法只会在android 10 以上的手机手机有效。

2.2.3 通过 plus.device.getInfo 获取

plus.device.getInfo 方法的使用方法同 2.1 过去 IMEI码

3、完整示例

3.1 获取 IMEI码,deviceId

/** * 获取系统设备信息 */ export function getSystemDeviceInfo() { return new Promise((resolve, reject) => { // 返回结果 let resolveResult = (deviceId, imei) => { resolve({ deviceId, imei }) }; let sysInfo = uni.getSystemInfoSync(); // #ifdef APP-PLUS if (sysInfo.osName.toLowerCase() == 'android' && sysInfo.osVersion >= 10) { plus.device.getOAID({ success: ({ oaid }) => { resolveResult(oaid); }, fail: (e) => { resolveResult(sysInfo.deviceId); } }); } else { requestPermissions(['android.permission.READ_PHONE_STATE']).then(res => { plus.device.getInfo({ success: ({ uuid, imei }) => { let [oaid] = uuid?.split(",") || [] resolveResult(oaid || sysInfo.deviceId, imei) }, fail: (error) => { resolveResult(sysInfo.deviceId); }, }); }).catch((err) => { resolveResult(sysInfo.deviceId); }); } // #endif // #ifndef APP-PLUS resolveResult(sysInfo.deviceId); // #endif }); }

3.2 申请系统权限

/** * 申请权限 * * @param {Object} permissions */ export function requestPermissions(permissions) { return new Promise((resolve, reject) => { plus.android.requestPermissions(permissions, function(e) { if (e.deniedAlways.length > 0) { //权限被永久拒绝 // 弹出提示框解释为何需要定位权限,引导用户打开设置页面开启 console.log('Always Denied!!! ' + e.deniedAlways.toString()); return reject({ code: -1, message: '权限被永久拒绝', deniedAlways: e.deniedAlways }); } if (e.deniedPresent.length > 0) { //权限被临时拒绝 // 弹出提示框解释为何需要定位权限,可再次调用plus.android.requestPermissions申请权限 console.log('Present Denied!!! ' + e.deniedPresent.toString()); return reject({ code: -2, message: '权限被临时拒绝', deniedAlways: e.deniedPresent }); } if (e.granted.length > 0) { // 权限被允许 // 调用依赖获取定位权限的代码 console.log('Granted!!! ' + e.granted.toString()); return resolve(); } }, function(e) { console.log('Request Permissions error:' + JSON.stringify(e)); reject(e); }); }); }

4、注意

1、plus.device.getInfo 在用户拒绝权限后success, fail 回调都不会响应,所以增加手动获取权限方法,避免用户拒绝权限后无法正确的回调

2、plus.device.getOAID 只在 android 10 以上有用。

3、uni.getSystemInfoSync 获取的 deviceId 存在不是唯一的情况。

http://www.tj-hxxt.cn/news/119804.html

相关文章:

  • 上线一款app需要多少钱什么是seo推广
  • 辽宁省建设厅投诉网站国外域名注册
  • 厦门建设局网站城市建设武汉百度推广优化
  • 网站建设公司位置推广引流方法与渠道
  • 三网合一的网站怎么做百度小程序优化排名
  • 专做五金正品的网站游戏推广员是诈骗吗
  • 百度seo优化价格上海关键词排名优化公司
  • 设计工作网站好深圳将进一步优化防控措施
  • 请问大连谁家做网站文山seo公司
  • 用搬瓦工做储存网站网络营销策划方案的目的
  • 数码公司网站建设调查百度关键词优化平台
  • 搭建wap网站济南seo排名搜索
  • 了解宿迁建设网站关键字排名优化工具
  • 建设商务网站的步骤北京网站优化服务商
  • 烟台建网站产品线上营销方案
  • 网站内容如何更新网站建设方案开发
  • 贸易公司寮步网站建设极致发烧网页制作代码大全
  • 解析域名就可以做网站江苏网站seo设计
  • 高大上的企业网站欣赏宁波关键词优化企业网站建设
  • 浙江网站建设今日要闻新闻
  • 网站优化插件谷歌香港google搜索引擎入口
  • 内部网站如何做创意营销新点子
  • 动态网站开发主流软件常见的搜索引擎有哪些?
  • 网站注销主体注销放心网站推广优化咨询
  • 怎样做网站表白网站备案是什么意思
  • 做一个招聘信息的网站 用什么做网站的软件广告引流推广平台
  • 教育网站 模板网络推广平台有哪些?
  • 凤台县美丽乡村建设网站在线客服系统平台有哪些
  • 江门小程序制作百度网站快速优化
  • 门户网站建设管理情况自查报告seo价格查询公司