您的位置:首页 > 其它

学习PhoneGap Api

2016-05-08 19:48 239 查看

SplashScreen

打开APP时,会黑屏一段时间,

解决方案:放置一张加载的图片。

config.xml

<!-- 启动图片-->
<preference name="SplashScreen" value="splash" />
<preference name="SplashScreenDelay" value="3000" />


splash 是图片的文件名,3000代表图片在3秒后隐藏。

图片放在res/目录不同分辨率的文件夹下。

参考地址:

/article/8027810.html

(里面提及的使用js里隐藏图片不能实现,目前找不到解决办法…)

点击back键

document.addEventListener("backbutton", yourCallbackFunction, false);
function yourCallbackFunction(){
// 点击back键
alert("click back button");
}


当PhoneGap被完全加载后会触发该事件 deviceready

document.addEventListener("deviceready", onDeviceReady, false);`这里写代码片`
// PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
function onDeviceReady() {
// 现在可以安全使用PhoneGap API
alert("加载完毕");
}


当用户在Android系统上点击菜单按钮的时候触发此事件 menubutton

document.addEventListener("menubutton", onMenubutton, false);
function onMenubutton() {
alert("点击菜单");
}


(没测出效果…)

当PhoneGap应用程序被放到后台的时候触发此事件 Pause

document.addEventListener("pause", onPause, false);

function onPause() {
// 处理pause事件
alert("PAUSE");
}


(android上,点击home和back键都会触发)

当PhoneGap应用程序被恢复到前台运行的时候触发此事件 Resume

document.addEventListener("resume", onResume, false);

function onResume() {
// 处理pause事件
alert("Resume");
}


(点击home键之后,再回到APP后触发)

当PhoneGap应用程序在线(连接到因特网)的时候触发此事件 online

document.addEventListener("online", onOnline, false);

function onOnline() {
// 处理pause事件
alert("上网");
}


(没有测出效果)

当PhoneGap应用程序离线(没有连接到因特网)的时候触发此事件 offline

function onDeviceReady() {
document.addEventListener("online", onOnline, false);
}

// 处理online事件
function onOnline() {
}


PhoneGap 调用手机系统的API

不知道是cordova.jar还是cordova.js的原因,无法调用系统的API,网上找到了能正常调用API的jar和js,不过使用这2个东西,启动图片(splashscreen)却没效果了….

jar和js的下载地址:

http://pan.baidu.com/s/1c2a5nBM

加速度计 Accelerometer

// 等待加载PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加载完毕
function onDeviceReady() {
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);

}

function onSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + '\n' +
'Acceleration Y: ' + acceleration.y + '\n' +
'Acceleration Z: ' + acceleration.z + '\n' +
'Timestamp: '      + acceleration.timestamp + '\n');
}

function onError() {
alert('onError!');
}


摄像头 Camera

在android(T1)上测试,如下做法得不到图片

navigator.camera.getPicture(onSuccess, onFail, { quality: 50 });

function onSuccess(imageData) {
var image = document.getElementById('myImage');
image.src = "data:image/jpeg;base64," + imageData;
}

function onFail(message) {
alert('Failed because: ' + message);
}


下面使用url的方式可以得到图片:

navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
destinationType: Camera.DestinationType.FILE_URI });

function onSuccess(imageURI) {
var image = document.getElementById('myImage');
image.src = imageURI;
}

function onFail(message) {
alert('Failed because: ' + message);
}


采集 Capture

android(T1)下测试Demo效果

1.采集录音,失败,提示错误码3

2.采集图片成功,上传图片无效果,未实际测试。

3.采集视频成功,上传视频无效果,未实际测试。

联系人 Contacts

android(T1)测试无效,不回调success和fail;

设备 Device

android(T1)测试

1 device.name :得不到

2device.phonegap :得不到

3device.platform:可以

4device.uuid:可以

5device.version: 可以

。。。。

更多API学习地址:

http://www.phonegapcn.com/docs/zh/cn/index.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: