保存用相机和旋转手机拍摄的图像时,Android 应用程序死机
Posted
技术标签:
【中文标题】保存用相机和旋转手机拍摄的图像时,Android 应用程序死机【英文标题】:Android app dies when saving image captured with camera and rotating phone 【发布时间】:2012-09-10 23:45:31 【问题描述】:[编辑]
我实际上解决了这个问题,在我的活动清单中添加了以下行:
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>
【问题讨论】:
如果你得到的答案没有帮助,你应该去检查你的 LogCat,让我们知道错误是什么。如果是 Bitmap 超出 VM 预算类型错误,这是一种问题,如果是权限问题,则完全不同。 【参考方案1】:您需要向 mainfest 添加更多内容,否则您将再次遇到此问题。添加以下内容:android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
【讨论】:
这正是 phonegap 建议添加的行,但是,如果我添加完整的字符串,我的应用程序将不会启动,这就是我必须删除最后三个名称的原因。无论哪种方式,+1 帮助 :) 我仍然建议您接受他的答案作为正确的答案,因为它对您有所帮助……而且因为过去 3 年没有人回答。以上是关于保存用相机和旋转手机拍摄的图像时,Android 应用程序死机的主要内容,如果未能解决你的问题,请参考以下文章