【发布时间】:2013-01-30 22:35:38
【问题描述】:
已修复:SG3 上默认“不保留活动”
默认情况下,三星 Galaxy S3 附带“不保持活动”(两个位置的测试模型都存在此故障)
当然,这意味着一旦启动任何其他活动,包括在您的 Cordova/PhoneGap 应用程序中,您的应用程序的主要活动将被销毁。任何回调事件显然都不会触发。
关闭该选项可解决问题。
无论品牌/型号如何,都要检查开发者选项,例如华硕 Nexus 7 平板电脑没有此默认设置。
我已经设置了一个基本的测试应用。其中有一个按钮和一个 img 标签 + 未修改的 Cordova index.js
按钮 onclick 正在调用 capturePhoto():
function onPhotoURISuccess(imageURI) {
console.log(imageURI);
var largeImage = document.getElementById('largeImage');
largeImage.style.display = 'block';
largeImage.src = imageURI;
}
function capturePhoto() {
navigator.camera.getPicture( onPhotoURISuccess, onFail,
{ quality: 20, allowEdit: true, destinationType: Camera.DestinationType.FILE_URI });
}
function onFail(message) {
alert('Failed because: ' + message);
}
当我在模拟器和华硕 Nexus 7 平板电脑上运行应用程序时,相机会按预期打开,允许拍摄并确认照片,然后返回 FILE_URI 并设置图像src 属性。
但是,在三星 Galaxy SIII 上(我们正在测试不同位置的两个)相机打开,允许拍摄,并在确认后尝试恢复测试应用程序并死掉。
有谁知道这个问题,有没有办法解决?
仅供参考,我已在 AndroidManifest.xml 活动节点中添加了一个额外设置:android:screenOrientation="nosensor" - 尽管这并不能解决问题(在这里抓住稻草。)
其他信息:
- 手机运行的是 Android 4.1.2
- 目标 SDK 16
- 科尔多瓦 v 2.4.0rc1
phonegap 的测试版本 - 1.8 - 2.4rc(全部崩溃或无法返回图像。)
堆栈跟踪的相关部分在这里:http://pastie.org/5974920
更新
- 关于 Simon MacDonald 的建议。
用quality : 100测试
结果与之前相同。
- 1.9-2.1 炸弹(无消息)
- 2.2-2.3 回到应用,但没有图像。
- 2.4 - 抱歉,应用已停止 - “托管”崩溃
没有工作。
【问题讨论】:
-
我好像遇到过这个问题,是不是在你用完live camera后重新打开index.html页面?
-
在 2.2.0 和 2.3.0 上,它确实设法返回到 app/index.html。在我尝试过的所有其他版本中,1.8、1.9、2.0、2.1 和 2.4rc1 它崩溃回操作系统。 - 这绝对是三星唯一的问题,这很糟糕,因为它们真的很受欢迎。
-
@ClintonWard - 哦,我还要提一下,虽然 2.2.0 和 2.3.0 返回 index.html,但图像不会返回。
-
我知道这听起来有悖常理,但您能指定质量为 100 看看能否重现该问题吗?
-
我发现三星note也有类似问题,我会试试画质100