我正在构建我的第一个Phonegap / Cordova应用程序,有一些我无法工作的东西。为了节省时间,我决定使用Adobe的Build Service(版本3.3.0 - 也尝试过3.5.0)。
1。相机 我尝试了几种方法,但似乎没有任何效果。我希望该应用程序打开相机。这应该启动它并将结果保存在base64代码中:
JS
function capturePhoto(){
navigator.camera.getPicture(uploadPhoto,null,{sourceType:1,quality:60});
}
function uploadPhoto(data){
// this is where you would send the image file to server
cameraPic.src = "data:image/jpeg;base64," + data;
// Successful upload to the server
navigator.notification.alert(
'Your Photo has been uploaded', // message
okay, // callback
'Photo Uploaded', // title
'OK' // buttonName
);
// upload has failed Fail
/*
if (failedToUpload){
navigator.notification.alert(
'Your Photo has failed to upload',
failedDismissed,
'Photo Not Uploaded',
'OK'
);
}
*/
}
function okay(){
// Do something
}
按钮
<a href="#" data-role="button" data-inline="true" onclick="capturePhoto();">Photo</a>
2。离线
当应用程序发现设备处于脱机状态时,应该重定向用户。 这就是我所拥有的:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("offline", onOffline, false);
function onOffline()
{
window.location = "noi.html";
}
}
我还尝试将onOffline函数放在onDeviceReady()函数之外......
我很期待得到你的帮助。
谢谢, 最大
答案 0 :(得分:0)
@Don,这已经很老了。所以我怀疑你还有这个问题,但其他人。
在#1 上,您没有使用destinationType: Camera.DestinationType.DATA_URL
,这应该在您的选项中。您使用了 sourceType ,它可以让您获得相机。文档目前尚不清楚。这意味着它将返回一个base64,但事实并非如此。
在#2 上,您需要使用您未在提及的代码中提及或使用的插件networkInformation。 - 杰西