我正在使用 phonegap 从设备相机或图库中抓取图像。相机部分工作正常,但是当我单击调用galleryButton() 的按钮时,应用程序就会卡住。这是我正在使用的代码:
function cameraButton() {
callLib(Camera.PictureSourceType.CAMERA);
}
function galleryButton() {
callLib(Camera.PictureSourceType.PHOTOLIBRARY);
}
function callLib(sourceType) {
navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
destinationType : Camera.DestinationType.DATA_URL,
sourceType : sourceType,
allowEdit : false,
encodingType: Camera.EncodingType.JPEG,
targetWidth: 512,
targetHeight: 512,
saveToPhotoAlbum: false } );
}
日志输出:
09-02 18:51:39.238: V/webcore(16739): SET_GLOBAL_BOUNDS arg1=0 arg2=0 obj=Rect(0, 25 - 320, 480)
09-02 18:51:39.238: V/webcore(16739): VIEW_SIZE_CHANGED arg1=0 arg2=0 obj=android.webkit.WebView$ViewSizeData@44b56268
09-02 18:51:39.238: V/webcore(16739): viewSizeChanged w=320; h=455; textwrapWidth=320; scale=1.0
09-02 18:51:39.238: V/webcore(16739): SET_ACTIVE arg1=0 arg2=0 obj=null
09-02 18:51:39.248: V/webcore(16739): WEBKIT_DRAW arg1=0 arg2=0 obj=null
09-02 18:51:39.248: V/webcore(16739): webkitDraw start
09-02 18:51:39.258: V/webcore(16739): webkitDraw NEW_PICTURE_MSG_ID
09-02 18:51:39.268: V/webcore(16739): UPDATE_CACHE_AND_TEXT_ENTRY arg1=0 arg2=0 obj=null
09-02 18:51:39.268: V/webcore(16739): UPDATE_CACHE_AND_TEXT_ENTRY arg1=0 arg2=0 obj=null
09-02 18:51:39.278: V/webview(16739): NEW_PICTURE_MSG_ID
09-02 18:51:39.278: V/webview(16739): NEW_PICTURE_MSG_ID {0,0,320,480}
09-02 18:51:39.278: V/webview(16739): UPDATE_TEXT_ENTRY_MSG_ID
09-02 18:51:39.278: V/webview(16739): UPDATE_TEXT_ENTRY_MSG_ID
09-02 18:51:42.158: V/webview(16739): MotionEvent{44b254f0 action=0 x=118.62812 y=53.83542 pressure=1.0 size=0.0} at 33266232 mTouchMode=7
09-02 18:51:42.158: V/webcore(16739): UPDATE_FRAME_CACHE_IF_LOADING arg1=0 arg2=0 obj=null
09-02 18:51:42.168: V/webview(16739): MotionEvent{44b254f0 action=2 x=118.62812 y=53.83542 pressure=1.0 size=0.0} at 33266242 mTouchMode=1
09-02 18:51:42.198: V/webview(16739): MotionEvent{44b254f0 action=2 x=118.62812 y=53.83542 pressure=1.0 size=0.0} at 33266262 mTouchMode=1
09-02 18:51:42.228: V/webview(16739): MotionEvent{44b254f0 action=2 x=118.62812 y=53.83542 pressure=1.0 size=0.0} at 33266292 mTouchMode=1
09-02 18:51:42.248: V/webview(16739): MotionEvent{44b254f0 action=2 x=118.62812 y=53.83542 pressure=1.0 size=0.0} at 33266322 mTouchMode=1
09-02 18:51:42.268: V/webview(16739): MotionEvent{44b254f0 action=1 x=118.62812 y=53.83542 pressure=1.0 size=0.0} at 33266342 mTouchMode=1
09-02 18:51:42.572: V/webview(16739): RELEASE_SINGLE_TAP
09-02 18:51:42.572: V/webcore(16739): VALID_NODE_BOUNDS arg1=0 arg2=0 obj=android.webkit.WebViewCore$MotionUpData@44b64c30
09-02 18:51:42.572: V/webview(16739): DO_MOTION_UP
09-02 18:51:42.578: V/webcore(16739): TOUCH_UP arg1=0 arg2=0 obj=android.webkit.WebViewCore$TouchUpData@44b650e0
09-02 18:51:42.578: V/webcore(16739): WEBKIT_DRAW arg1=0 arg2=0 obj=null
09-02 18:51:42.588: V/webcore(16739): webkitDraw start
09-02 18:51:42.588: V/webcore(16739): webkitDraw NEW_PICTURE_MSG_ID
09-02 18:51:42.598: V/webview(16739): NEW_PICTURE_MSG_ID
09-02 18:51:42.598: V/webview(16739): NEW_PICTURE_MSG_ID {98,38,159,72}
我有以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
编辑 一切都很完美。galleryButton() 从未被调用 :P 我的错误。有人关闭这个问题。