Je travaille sur l'ajout de certaines fonctionnalités spécifiques à l'application mobile sur mon site mobile. Actuellement, l'application est plus ou moins juste un emballage.Appareil photo Phonegap prendre une photo
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;
}
}
Le problème se pose avec le javascript suivant. Si je remplace super.loadUrl ("http://mysite.com"); avec super.loadUrl ("file: ///android_asset/www/online.html") et lancez le javascript suivant, cela fonctionne très bien. Mais si je l'exécute sur mysite.com, il continue à émettre l'exception suivante:
07-13 12: 25: 12.762: E/Web Console (28251): Impossible de charger la ressource locale: file: // /data/data/com.my.app/.Pic.jpg?1342171460960 at null: 0
Des pensées sur ce que je fais mal?
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);
});
Utilisez-vous Phonegap pour un site Web ou une application mobile? Si ce dernier, pour quelle plate-forme développez-vous? Ceci est important car vous devez parfois autoriser explicitement le chargement de données externes dans les applications. Dans iOS, on le spécifierait dans Appname-Info.plist sous types d'URL. En outre, je ne pense pas que le titre de votre question correspond au problème réel. – Rex