Javascript Android应用程序在保存相机和旋转手机拍摄的图像时死亡

Javascript Android应用程序在保存相机和旋转手机拍摄的图像时死亡,javascript,android,cordova,jquery-mobile,android-camera,Javascript,Android,Cordova,Jquery Mobile,Android Camera,[编辑] 实际上,我解决了这个问题,在我的活动清单中添加了以下行: android:configChanges="orientation|keyboardHidden" 我试图用phonegap保存我的android手机拍摄的图像,但是80%的时候我按下保存按钮,拍照后,我的应用程序就死掉了 我发现这是phonegap+android的一个常见问题。我已经尝试过降低图像质量,清理手机内存,删除应用程序的缓存目录。。。到目前为止还没什么,我仍然有这种随机行为 我尝试过使用imageData和im

[编辑]

实际上,我解决了这个问题,在我的活动清单中添加了以下行:

android:configChanges="orientation|keyboardHidden"
我试图用phonegap保存我的android手机拍摄的图像,但是80%的时候我按下保存按钮,拍照后,我的应用程序就死掉了

我发现这是phonegap+android的一个常见问题。我已经尝试过降低图像质量,清理手机内存,删除应用程序的缓存目录。。。到目前为止还没什么,我仍然有这种随机行为

我尝试过使用imageData和imageURI,但仍然出现错误

需要注意的是,每次我旋转手机时,我的应用程序都会死掉。有时,当我保存图像时,屏幕会自动旋转,这也会导致应用程序死机

这是我到目前为止的代码

            // Called when a photo is successfully retrieved
            //
            function onPhotoURISuccess(imageURI) {
                // Uncomment to view the image file URI
                // console.log(imageURI);

                $('#my_div') // this div belongs to my html markup (see bellow)
                    .empty()
                    .append(
                        $('<image>')
                            .attr('src', imageURI)
                            .attr('width', '100')
                            .attr('height', '100')
                            .css({
                                'background-color' : 'red',
                                 '-webkit-border-radius': '15px',
                                 '-moz-border-radius': '15px',
                                 'border-radius': '15px'
                            })
                );
            }

            // A button will call this function
            //
            function getPhoto(source) {
                // Retrieve image file location from specified source
                navigator.camera.getPicture(
                    function (imageUri) {
                        onPhotoURISuccess(imageUri, photo_div_id);   
                    }, 
                    onFail, {
                        quality: 30,
                        destinationType: Camera.DestinationType.FILE_URI,
                        sourceType: source
                    }
                );
            }

<div   id="my_div" class= "iconP">
   <input type="button"  name="photo_1" id="photo_1" onclick ="getPhoto()" value="photo 1"/>
</div>
//成功检索照片时调用
//
函数onPhotoURISuccess(imageURI){
//取消注释以查看图像文件URI
//log(imageURI);
$('#my_div')//此div属于我的html标记(请参见下文)
.empty()
.附加(
$('')
.attr('src',imageURI)
.attr('width','100')
.attr('height','100')
.css({
“背景色”:“红色”,
“-webkit边界半径”:“15px”,
“-moz边界半径”:“15px”,
“边界半径”:“15px”
})
);
}
//一个按钮将调用此函数
//
函数getPhoto(源代码){
//从指定源检索图像文件位置
navigator.camera.getPicture(
函数(imageUri){
onPhotoURISuccess(imageUri,photo\u div\u id);
}, 
一旦失败{
质量:30,
destinationType:Camera.destinationType.FILE\u URI,
sourceType:source
}
);
}

您需要在mainfest中添加更多内容,否则您将再次遇到此问题。添加以下内容:
android:configChanges=“orientation | keyboardHidden | keyboard | screenSize | locale”

您需要在mainfest中添加更多内容,否则您将再次遇到此问题。添加以下内容:
android:configChanges=“方向|键盘隐藏|键盘|屏幕大小|区域设置”

如果您得到的答案没有帮助,您应该检查您的日志并告诉我们错误是什么。如果是位图超过VM预算类型错误,这是一种问题,如果是权限问题,则完全不同。如果您得到的答案没有帮助,您应该检查您的日志,并让我们知道错误是什么。如果位图超过VM预算类型错误,这是一种问题,如果是权限问题,则完全不同。这是phonegap建议添加的行,但是,如果添加完整字符串,我的应用程序将不会启动,这就是为什么我必须删除最后三个名称。不管怎样,+1表示帮助:)我仍然建议你接受他的答案是正确的,因为它帮助了你。。。因为在过去3年中没有人回答。这是phonegap建议添加的行,但是,如果我添加完整的字符串,我的应用程序将不会启动,这就是为什么我必须删除最后三个名称。不管怎样,+1表示帮助:)我仍然建议你接受他的答案是正确的,因为它帮助了你。。。因为在过去的三年里没有人回答。