收藏 分销(赏)

AppCan插件使用文档之uexDevice.docx

上传人:xrp****65 文档编号:8995744 上传时间:2025-03-10 格式:DOCX 页数:12 大小:37.04KB 下载积分:10 金币
下载 相关 举报
AppCan插件使用文档之uexDevice.docx_第1页
第1页 / 共12页
AppCan插件使用文档之uexDevice.docx_第2页
第2页 / 共12页


点击查看更多>>
资源描述
AppCan插件使用文档之uexDevice uexDevice对象封装了用于调用设备硬件参数相关信息和硬件状态相关信息。 使用示例 以下示例代码说明了如何使用uexDevice对象的方法. <!DOCTYPE html> <html> <head> <title>AppCan API uexDevice</title> <meta charset='utf-8'> <script> function $$(id){ return document.getElementById(id); } function isDefine(para) { if (typeof para == 'undefined' || para == '' || para == null || para == undefined) return false; else return true; } window.uexOnload = function(type){ if(!type){ /** * 屏幕旋转监听方法 * @param {Object} mode */ uexDevice.onOrientationChange = function(mode){ if(mode == 1){ $$('data').innerHTML ='正竖屏'; }else if(mode == 2){ $$('data').innerHTML ='左横屏'; }else if(mode == 4){ $$('data').innerHTML ='倒竖屏'; }else if(mode == 8){ $$('data').innerHTML ='右横屏'; } } uexWidgetOne.cbError=function(opCode,errorCode,errorInfo){ console.log(errorInfo); } } /** * 设备信息的回调方法 * @param {Object} opCode * @param {Object} dataType * @param {Object} data */ uexDevice.cbGetInfo=function (opCode,dataType,data){ var device = eval('('+data+')'); var cpuFrequency=device.cpu; if(isDefine(cpuFrequency)){ console.log('CPU信息:' + cpuFrequency); } var osVersion=device.os; if(isDefine(osVersion)){ console.log('系统版本信息:' + osVersion); } var manufacturer=device.manufacturer; if(isDefine(manufacturer)){ console.log('厂商信息:' + manufacturer); } var keyboard= device.keyboard; if(isDefine(keyboard)){ console.log('是否支持键盘:' + keyboard);//1:支持;0:不支持 } var bluetooth=device.blueTooth; if(isDefine(bluetooth)){ console.log('是否支持蓝牙:' + bluetooth);//1:支持;0:不支持 } var wifi=device.wifi; if(isDefine(wifi)){ console.log('是否支持WIFI:' + wifi);//1:支持;0:不支持 } var camera=device.camera; if(isDefine(camera)){ console.log('是否支持摄像头:' + camera);//1:支持;0:不支持 } var gps=device.gps; if(isDefine(gps)){ console.log('是否支持GPS:' + gps);//1:支持;0:不支持 } var gprs=device.gprs; if(isDefine(gprs)){ console.log('是否支持GPRS:' + gprs);//1:支持;0:不支持 } var touch=device.touch; if(isDefine(touch)){ console.log('是否支持触屏:' + touch);//1:支持;0:不支持 } var imei=device.imei; if(isDefine(imei)){ console.log('IMEI号:' + imei); } var deviceToken = device.deviceToken; if(isDefine(deviceToken)){ //没有时返回空字符串。Android的deviceToken是softToken。 //带推送证书的ios证书打包的ios安装包可获取 console.log('deviceToken值:' + deviceToken); }else{ console.log('未获得deviceToken值') } var deviceType=device.deviceType ; if(isDefine(deviceType)){//isAndroid = (/android/gi).test(navigator.appVersion) if(deviceType==0){ //也可用此法判断var isIphone = (/iphone/gi).test(navigator.appVersion)&&!(/iPod/gi).test(navigator.appVersion) console.log('设备类型:IPhone'); }else if(deviceType==1){ //isIpad = (/ipad/gi).test(navigator.appVersion) console.log('设备类型:IPad'); }else if(deviceType==2){ //isIPodTouch = (/iPod/gi).test(navigator.appVersion), console.log('设备类型:IPodTouch'); } } var connectStatus=device.connectStatus; if(isDefine(connectStatus)){ if(connectStatus==-1){ console.log('网络状态:网络不可用'); }else if(connectStatus==0){ console.log('网络状态:WIFI网络'); }else if(connectStatus==1){ console.log('网络状态:3G网络'); }else if(connectStatus==2){ console.log('网络状态:2G网络'); } } var restDiskSize = device.restDiskSize; if(isDefine(restDiskSize)){ console.log('磁盘剩余空间:'+restDiskSize+'B');//单位Byte } var operatorName=device.mobileOperatorName; if(isDefine(operatorName)){ console.log('移动网络运营商:'+operatorName); }else{ console.log('为获取到移动网络运营商');//ipod、ipad wifi版 } var macAddress=device.macAddress; if(isDefine(macAddress)){ console.log('mac地址:'+macAddress);//当前设备的WIFI mac地址 } var model=device.model; if(isDefine(model)){ console.log('硬件型号:'+model); } } } /** * 设备震动 * 注意:ipod、ipad不支持震动 */ function startVibrate(){ var time = $$('time').value; if(!isDefine(time)){ console.log('请填入震动时间'); return ; } uexDevice.vibrate(time); } </script> </head> <body> <span>设备</span><br/> <span>屏幕方向切换</span><br/><span>当前的屏幕方向为:<em id='data'></em></span><br/> <span>震动</span><br/> <span>输入震动持续时间(毫秒为单位):</span> <input type='text'id='time' value='500'/><br/> <input type='button' value='震动'onclick='startVibrate();'><br/> <input type='button' value='停止震动'onclick='uexDevice.cancelVibrate();'><br/> <span>设备信息</span><br/> <span>1.获取CPU信息:</span> <input type='button'value='CPU信息' onclick="uexDevice.getInfo('0');"><br/> <span>2.获取系统版本:</span> <input type='button' value='系统版本'onclick="uexDevice.getInfo('1');"><br/> <span>3.获取厂商信息:</span> <input type='button' value='厂商信息'onclick="uexDevice.getInfo('2');"><br/> <span>4.获取键盘信息:</span> <input type='button' value='键盘信息'onclick="uexDevice.getInfo('3');"><br/> <span>5.获取蓝牙信息:</span> <input type='button' value='蓝牙信息'onclick="uexDevice.getInfo('4');"><br/> <span>6.获取WIFI信息:</span> <input type='button'value='WIFI信息' onclick="uexDevice.getInfo('5');"><br/> <span>7.获取摄像头信息:</span> <input type='button'value='摄像头信息' onclick="uexDevice.getInfo('6');"><br/> <span>8.获取GPS信息:</span> <input type='button'value='GPS信息' onclick="uexDevice.getInfo('7');"><br/> <span>9.获取GPRS信息:</span> <input type='button'value='GPRS信息' onclick="uexDevice.getInfo('8');"><br/> <span>10.获取触屏信息:</span> <input type='button' value='触屏信息'onclick="uexDevice.getInfo('9');"><br/> <span>11.获取IMEI信息:</span> <input type='button'value='IMEI信息' onclick="uexDevice.getInfo('10');"><br/> <span>12.获取DeviceToken:</span> <input type='button'value='DeviceToken' onclick="uexDevice.getInfo('11');"><br/> <span>13.获取ios设备类型:</span> <input type='button'value='ios设备类型' onclick="uexDevice.getInfo('12');"><br/> <span>14.获取网络状态:</span> <input type='button'value='网络状态' onclick="uexDevice.getInfo('13');"><br/> <span>15.获取磁盘剩余空间:</span> <input type='button'value='磁盘空间' onclick="uexDevice.getInfo('14');"><br/> <span>16.获取移动网络运营商的名称:</span> <input type='button'value='运营商名称' onclick="uexDevice.getInfo('15');"><br/> <span>17.获取WIFI mac地址:</span> <input type='button'value='mac地址' onclick="uexDevice.getInfo('16');"><br/> <span>18.获取硬件型号:</span> <input type='button'value='型号' onclick="uexDevice.getInfo('17');"><br/> </body> </html> Methods 1、vibrate(inMilliseconds) 启动设备震动器震动一定时间,单位为毫秒数。 备注,ios平台中,ipad,ipod不支持震动,在使用之前需要判断是否是iphone Parameters: inMilliseconds 震动毫秒数。 2、cancelVibrate() 取消震动。 3、getInfo(inInfoID) 根据inInfoID获取设备信息或状态。 Parameters inInfoID 设备信息ID。 inInfoID值 说明 返回值 0 描述CPU频率的字符串,eg:“1024MHZ”。IOS平台获取不到时,返回“0” {"cpu":"xxx"} 1 描述系统版本的字符串,eg:“Android2.3.4” {"os":"xxx"} 2 标书设备制造商的字符串eg:“htc” {"manufacturer":"xxx"} 3 代表是否支持键盘的字符串0(不支持)或1(支持) {"keyboard":1} 4 代表是否支持蓝牙的字符串0(不支持)或1(支持) 当设备有蓝牙功能时,即使蓝牙关闭,返回信息仍然是支持蓝牙,即值为字符串1。 在IOS上的蓝牙功能只支持同一应用间使用,和普遍人们理解的不同,视为不支持。 {"blueTooth":1} 5 代表是否支持WIFI的字符串0(不支持)或1(支持) 当设备有wifi功能时,即使wifi关闭,返回信息仍然是支持wifi,即值为字符串1。 {"wifi":1} 6 代表是否支持摄像头的字符串0(不支持)或1(支持) {"camera":1} 7 代表是否支持GPS的字符串0(不支持)或1(支持) 当设备有gps功能时,即使gps关闭,返回信息仍然是支持gps,即值为字符串1。 {"gps":1} 8 代表当前移动网络数据连接是否可用(不含WIFI)的字符串0(不可用)或1(可用) {"gprs":1} 9 代表设备是否支持触屏的字符串0(不支持)或1 (支持) {"touch":1} 10 代表此设备IMEI(国际移动设备唯一标识码)号的15位字符串,eg:“356357046156042”。 在IOS上,获得不到imei时可获得UUID,eg:“dea7f0e2f8c7dfd0c07555b96aff2d342587505b” {"imei":"xxx"} 11 推送服务器需要的一个代表此设备的唯一令牌的字符串。 eg:“98d264a3 77689b33 6f1215e6 264ab0c5 55f45b4a ab61e6ff f667883a ef829ccb”,没有时返回空字符串。 Android的deviceToken是softToken。 {"deviceToken":"xxx"} 12 设备类型,用来判断当前的设备是phone ouch或者pad(IOS专用,类型值参考常量表IOS设备类型) {"deviceType":"0"} 13 当前联网的方式(类型值参考常量表网络状态类型) {"connectStatus":"-1"} 14 当前设备剩余的磁盘空间大小的字符串,eg:“12345678”单位:字节 {"restDiskSize":"10000"} 15 当前移动网络运营商的名称,比如”中国联通”,如果获取不到返回空字符串 {"mobileOperatorName":"xxx"} 16 表示当前设备的WIFI mac地址 ,可作为设备的唯一标识,IMEI可能在某些不具备移动通讯的android平板或MP4上获取不到,但是android系统设备一般都会具有WIFI功能,所以mac地址作为设备唯一标识比IMEI更可靠 {"macAddress":"xxx"} 17 当前设备的型号名称,如“Galaxy Nexus” {"model":"xxx"} 4、cbGetInfo(opId,dataType,data) uexDevice.getInfo的回调函数,返回代表设备信息或状态的字符串 Parameters opId 操作ID,在此函数中不起作用,可忽略。 dataType 返回数据的数据类型为uex.cJSON(值为1) data 返回的json格式数据,如:{"typename":"typevalue"} 5、onOrientationChange(inOrientationValue) 屏幕旋转监听方法。 Parameters inOrientationValue 屏幕的方向。Int ;1:正竖屏;2:左横屏;4:倒竖屏;8:右横屏 <script>     window.uexOnload = function(type){     if(!type){         /**          * 屏幕旋转监听方法          * @param {Object} mode          */         uexDevice.onOrientationChange = function(mode){             if(mode == 1){                 $$('data').innerHTML ='正竖屏';             }else if(mode == 2){                 $$('data').innerHTML ='左横屏';             }else if(mode == 4){                 $$('data').innerHTML ='倒竖屏';             }else if(mode == 8){                 $$('data').innerHTML ='右横屏';             }         }     } </script>
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服