1

我面临有关 Phonegap Capture 图像功能的问题。虽然这个问题以前被问过很多次,但我没有找到解决办法。所以我又在这里问了。我正在尝试使用 phonegap 捕获图像并将其设置在我的 HTML 页面中。这是我的代码:

function captureImage() {
navigator.device.capture.captureImage(captureSuccess, captureError, {limit: 1,
quality:100,
correctOrientation: true,
destinationType : Camera.DestinationType.FILE_URI, 
targetWidth: 800,
targetHeight: 800,
saveToPhotoAlbum: true });
}

function captureSuccess(mediaFiles) {
var i, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
uploadFile(mediaFiles[i]);
       }       
}

function captureError(error) {
var msg = 'An error occurred during capture: ' + error.code;
$("#errorNot1").fadeIn();
$("#errorMsg").text("Unable to capture image.");
}

function uploadFile(mediaFile) {
$(".contentdiv").css("display","none");
$("#takePhoto").css("display","block");
$("#fromLib").css("display","none");
path = mediaFile.fullPath,
name = mediaFile.name;
$('.largeImage').attr("src",path);
}

问题是,它的启动相机和捕获图像。但是当尝试在 HTML 页面中设置时,应用程序崩溃了。

这是我的 logcat 输出(我的 sdk 没有更新,我正在尝试使用 Android 4.1.1 测试应用程序,因此 logcat 输出可能达不到标准):

??-?? ??:??:??.???: INFO/<unknown>(<unknown>): FATAL EXCEPTION: main
??-?? ??:??:??.???: INFO/<unknown>(<unknown>): java.lang.RuntimeException: Unable to resume activity {com.infy.qure/com.infy.qure.AndroidQuREActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.infy.qure/com.infy.qure.AndroidQuREActivity}: java.lang.NullPointerException
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2616)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2644)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2130)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.app.ActivityThread.access$600(ActivityThread.java:140)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.os.Handler.dispatchMessage(Handler.java:99)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.os.Looper.loop(Looper.java:137)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.app.ActivityThread.main(ActivityThread.java:4898)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at java.lang.reflect.Method.invokeNative(Native Method)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at java.lang.reflect.Method.invoke(Method.java:511)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at dalvik.system.NativeStart.main(Native Method)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>): Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.infy.qure/com.infy.qure.AndroidQuREActivity}: java.lang.NullPointerException
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3182)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2603)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     ... 12 more
??-?? ??:??:??.???: INFO/<unknown>(<unknown>): Caused by: java.lang.NullPointerException
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at org.apache.cordova.DroidGap.onActivityResult(DroidGap.java:850)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.app.Activity.dispatchActivityResult(Activity.java:5368)
??-?? ??:??:??.???: INFO/<unknown>(<unknown>):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3178)

我已经尝试了提供的所有这些解决方案:

PhoneGap:拍摄人像照片时应用程序崩溃

代码在果冻豆中不起作用

Phonegap|Android 4 - 从 PHOTOLIBRARY 拍照时,应用程序有时会崩溃

但所有这些都无济于事。我在尝试从照片库获取图像并在 HTML 中设置时面临同样的问题。

我想在这里提到的主要一点是,上面的代码在三星 Galaxy sIII (Android 4.0.4) 中运行良好,但在 Galaxy sIII (Android 4.1.1) 中无法运行。可能是什么问题?我做错了吗?任何输入都会有所帮助。

4

2 回答 2

5

我之前遇到过同样的问题,我发现问题出在我的设置中,而不是我的应用程序中。只需确保在设置 -> 开发人员选项 -> 应用程序 -> 下并取消选中“不保留活动”,因为一旦启动相机就会杀死应用程序并且它无法再次恢复它。希望对你有帮助

于 2013-04-13T13:25:08.420 回答
0

尝试使用 android sdk 2.3.0。这应该适用于两种手机类型。

于 2013-02-14T07:24:53.690 回答