我面临有关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: Application crash taking portrait picture
code not working in Jelly Beans
Phonegap|Android 4 - App sometimes crashes when taking picture from PHOTOLIBRARY
但是所有这些都没有帮助。
尝试从照相馆中获取图像并在HTML中进行设置时遇到的相同问题。
我在这里要提到的主要事情是,上面的代码在Samsung Galaxy sIII(Android 4.0.4)上可以正常工作,但在Galaxy sIII(Android 4.1.1)上却不能正常工作。
可能是什么问题?我有什么错误吗?任何输入都会有所帮助。
最佳答案
我之前遇到过同样的问题,但我发现问题出在我的环境中,而不是我的应用。只需确保在“设置”->“开发人员选项”->“应用程序”->下,然后取消选中“不保留活动”,因为一旦启动相机,该应用程序将被杀死,并且无法再次恢复使用。希望对你有帮助