用相机拍照后应用程序重启(Titanium android)
Posted
技术标签:
【中文标题】用相机拍照后应用程序重启(Titanium android)【英文标题】:Application restart after taking picture with camera(Titanium android) 【发布时间】:2012-05-31 23:10:40 【问题描述】:我正在开发 android 应用程序,在我的应用程序中,我想从相机拍照并在图像视图中设置为图像。我的代码看起来像
var img_view = Titanium.UI.createImageView(
image: '/images/default.png',
height: '100%',
width: '100%',
); win.add(img_view);
photo_camera_view = Ti.UI.createView(
height: '20dp',
backgroundColor:'#fff'
); win.add(photo_camera_view);
photo_camera_view.addEventListener('click', function(e)
Titanium.Media.showCamera(
success:function(event)
img_view.image = event.media;
,
cancel:function()
,
error:function(error)
// create alert
,
);
);
我的需要是从相机拍摄照片并在 img_view 中设置图像:“相机照片”。在 Android 中,当我执行 Ti.Media.showCamera 时,在成功拍照并在应用程序中点击“确定”后,应用程序将重新启动。我正在使用钛 sdk 2.0.1 并在具有 android 版本 2.2 的 android 设备上对其进行测试。需要帮助......谢谢............
【问题讨论】:
@nilcash 你解决了这个问题吗?我在 Android 4.3 和 4.4 上有这个。我使用最少的代码来拍照,然后在 ImageView 元素中显示它们。如上所述,从设备相机中点击“确定”按钮后,应用程序通常会崩溃。有趣的是,如果发生崩溃,甚至不会调用回调函数(使用控制台/警报输出进行测试)。可在 Moto G(2014 年第 2 代;4.4)和三星 Galaxy S3 (4.3) 上重现。可能是内存问题,因为它在重新启动后效果更好,但在正常运行一段时间后再次发生。 @PhilippRieber 我已经为这个问题提出了票。根据钛团队的回放,他们无法重现这个问题。但是这个问题早在大约 2 年前就已经存在了。我不确定您是否面临同样的问题,或者可能是其他问题。 @nilcash 我在 Jira 中刷新了关于此问题的报告,现在重新打开:jira.appcelerator.org/browse/TIMOB-12848 是的,他们似乎无法重现它;但我可以一直在两个不同的设备上重现它,即使在恢复出厂设置并且没有安装其他应用程序之后也是如此。您是否找到任何解决方法?我的应用程序的唯一目的是拍照,所以它非常引人注目。 @PhilippRieber 真的很抱歉,因为此时我无法为您提供帮助。两年前我离开了钛行业,所以我完全不知道这些人现在在做什么。或许你可以再筹集一张票,这样这些人就可以专注于这个问题。 【参考方案1】:您需要在成功事件中设置图像,如下所示。
img_view.setImage(event.media);
您不能将图像分配给属性。图像视图必须用新图像重绘。并在 Android 4.0 模拟器中尝试,因为以下版本存在相机问题。
【讨论】:
以上是关于用相机拍照后应用程序重启(Titanium android)的主要内容,如果未能解决你的问题,请参考以下文章
UIImagePickerController:忽略拍照请求;相机正在改变模式