最近一个是工作比较忙,一个是自己有点懒了,几乎没有写博客,今天有点时间更新一下博客。
上次写phonegap简单的写了一下android环境的搭建,在写完了上篇文章之后,phonegap马上就更新到了2.5.0,所以这次写博客也是用的这个版本。
在开发的过程中,我们为了在不同平台上使用相同的代码,所以有时候需要更具平台去写一些不能通用的代码,这时候我们就可以使用phonegap提供的device接口,获得设别的相关信息。
我写的代码基本就是官方文档中的,只是加入了自己的一点解释,如果你感觉没有价值,那就可以飘过,还请手下留情。
首先将js和jar文件更新到2.5.0,然后在工程中的AndroidManifest.xml加入<uses-permission android:name="android.permission.READ_PHONE_STATE" />,对于这个配置对于不同的设备是不相同的,具体查看文档。
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<title>Device</title>
</head>
<body>
<p id="deviceProperties">Loading device properties...</p>
<script type="text/javascript" src="js/cordova-2.5.0.js"></script>
<script type="text/javascript">
/*
* deviceready事件 设备初始化phonegap所有的API触发的事件
* 建议将所有的业务代码放到此事件的回调函数中,以免发生不必要的错误
*/
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var element = document.getElementById('deviceProperties');
element.innerHTML = 'Device Name: ' + device.name + '<br />' +
'Device Cordova: ' + device.cordova + '<br />' +
'Device Platform: ' + device.platform + '<br />' +
'Device UUID: ' + device.uuid + '<br />' +
'Device Model: ' + device.model + '<br />' +
'Device Version: ' + device.version + '<br />';
}
</script>
</body>
</html>
工程的目录结构如下,主要是assets中的内容,确保你的index.html能够正常的引用到js。
程序运行效果如下:(由于是在模拟器中运行,可能有些值返回的跟真实情况不同)
相信大家都能看懂这是什么意思。
还有一点说明,从2.3.0开始device.name就不建议使用了,使用device.model代替.