0
我的工作增加了一些移動應用特定的功能,以我的移動網站。目前,該應用程序或多或少只是一個包裝。PhoneGap的相機拍照
public class Activity extends DroidGap {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
if (this.isOnline()) {
super.loadUrl("http://mysite.com");
} else {
super.loadUrl("file:///android_asset/www/offline.html");
}
}
public boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
}
問題隨着下面的javascript增加。如果我替換super.loadUrl(「http://mysite.com」);與super.loadUrl(「文件:///android_asset/www/online.html」)並運行下面的JavaScript那裏,它工作正常。但是,如果我在mysite.com上運行它,它會一直拋出以下異常:
07-13 12:25:12.762:E/Web控制檯(28251):不允許加載本地資源:file:// /data/data/com.my.app/.Pic.jpg?1342171460960在零位:0
什麼,我做錯了什麼想法?
var camera = (function(){
var camera = {
settings : {
quality: 50,
}
};
var error = function(message) {
console.error("Error happened while trying to get a picture", message);
};
document.addEventListener("deviceready", function() {
camera.settings.destinationType = navigator.camera.DestinationType.FILE_URI;
camera.fromPhone = function() {
this.settings.sourceType = navigator.camera.PictureSourceType.CAMERA;
return this;
};
camera.fromLibrary = function() {
this.settings.sourceType = navigator.camera.PictureSourceType.PHOTOLIBRARY;
return this;
};
camera.get = function(callback) {
navigator.camera.getPicture(callback, error, camera.settings);
};
}, false);
return camera;
})();
//Later, at a click event
camera.fromPhone().get(function(imageURI){
alert("imageURI" + imageURI)
$("#largeImage").attr("src", imageURI);
});
您是否使用Phonegap作爲網站或作爲移動應用程序?如果是後者,你在爲什麼開發平臺? 這很重要,因爲有時您必須明確允許外部數據在應用程序中加載。在iOS中,可以在URL類型下的Appname-Info.plist中指定。 此外,我不認爲你的問題的標題匹配的實際問題。 – Rex 2012-07-13 14:06:17