H5获取手机设备信息、app版本信息、ip地址

html-css012

H5获取手机设备信息、app版本信息、ip地址,第1张

获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等。通过plus.device获取设备信息管理对象。

获取当前运行环境信息、与其它程序进行通讯等。通过plus.runtime可获取运行环境管理对象。

直接上demo

注意:

获取IP地址和plus.device.getInfo都是异步的,所以在使用的时候要注意时机

效果图:

Android和IOS获取imei、imsi、uuid时须知:

imei: (String 类型 )设备的国际移动设备身份码

如果设备不支持或无法获取(如用户未授权)则返回空字符串。 如果设备存在多个身份码,则以“,”字符分割拼接,如“862470039452950,862470039452943”。

平台支持

imsi: (Array[ String ] 类型 )设备的国际移动用户识别码

字符串数组类型,获取设备上插入SIM的国际移动设备身份码。 如果设备支持多卡模式则返回所有SIM身份码。 如果设备不支持或没有插入SIM卡则返回空数组。

平台支持

uuid: (String 类型 )设备标识

设备的唯一标识号。

平台支持

其他的属性和方法,参考html5plus官网:

http://www.html5plus.org/doc/zh_cn/device.html

Github

个人博客

WEB这东西,本来就是跨平台的东西,对于不同平台就有不同的浏览器,不同厂家的浏览器又不太一样。

尤其这种比较偏的底层接口。

2.就拿开发Android的WEB浏览器常用的WebView,就本身N个版本,接口改了又改。

你的网页还要跨平台,不管Android,还是WindowsPhone,适应于他们的变化有多复杂,自己要三思。

3.做那种混合型的App来让用户浏览自己的网站,内嵌WebView,通过JS和App交互,获取你需要的IMEI等等信息。

4.单纯Web页面是无法获取IMEI,除非W3C修订JavaScript标准,增加接口,并让浏览器厂商开始支持。

5.目前想获取IMEI,必须是app和Web页面相结合方式。

就如当前有个hbuilder开发工具,DCloud开发的。

6.可以调用手机系统API,原理类似于Java反射技术。

他们封装的比较好。可以直接通过js调用。

7.当然最后发布的不是真正的纯Web页面,是一个app安装包。

这里面的语法不是在任何浏览器都能运行的。

但发布的安装包,内部封装好的浏览器是可以支持相应的js方法。

8.web请求字段的UserAgent 段里只有操作系统版本,浏览器类型,浏览器内核版本这些信息,不会有其他信息。

9.至于ip,只要连接到web服务器,服务器就知道了,mac地址也是。