2012-07-13 102 views
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); 
}); 
+0

您是否使用Phonegap作爲網站或作爲移動應用程序?如果是後者,你在爲什麼開發平臺? 這很重要,因爲有時您必須明確允許外部數據在應用程序中加載。在iOS中,可以在URL類型下的Appname-Info.plist中指定。 此外,我不認爲你的問題的標題匹配的實際問題。 – Rex 2012-07-13 14:06:17

回答