我发现的关于我的问题的唯一上一个问题是:Android app reverts back to index page after getting a picture
但它并没有真正回答,我的 Manifest 在主要的 Activity 标签上有这个:
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
我正在使用 Android 上的 jQueryMobile 1.3.1 编写 PhoneGap 2.8.1 应用程序,但遇到了一个(不是那么)烦人的渲染问题。
我这样称呼camera.getPicture
PhoneGap的功能:
capturePicture: function() {
navigator.camera.getPicture(
app.onCameraSuccess,
app.onCaptureError,
{ quality : 50,
destinationType : Camera.DestinationType.DATA_URL,
sourceType : Camera.PictureSourceType.CAMERA,
encodingType: Camera.EncodingType.JPEG,
targetWidth: 250,
targetHeight: 250,
saveToPhotoAlbum: false
}
);
},
并像这样检索 Base64 编码的图像:
onCameraSuccess: function( b64EncodedImage ) {
var imageEncoded = "data:image/jpeg;base64," + b64EncodedImage;
$('div.accred_pic_preview')
.fadeOut()
.css('backgroundImage', 'url("' + imageEncoded + '")')
.fadeIn()
// The accred_pic_input is hidden, so I must call trigger event manually
$("#accred_pic_input").val( imageEncoded ).trigger("change");
app.goTo("accred"); // <== I must manually go to jQueryMobile page ID
}
一切都很好,但是当返回应用程序时,webView 会重新加载(或刷新)内容。
编辑:那部分令人困惑,让我们忘记它
问题是当我所需的输入正常时,我在隐藏输入上触发更改事件以激活提交按钮。如下所示,我必须使用我的功能手动转到上一个活动页面,因此手动更改页面时不会触发更改事件(当我最终到达目标页面时更改已经生效)
编辑感谢Robin C Samuel清除我的思绪 当捕获 OK(通过本机 android 照片应用程序)时,焦点将返回到我的应用程序。那时,我的应用程序是 JQM/PhoneGap 组合,应用程序的 webView 部分被刷新,以便在我以编程方式转到调用捕获插件的页面之前显示默认(索引)JQM 页面,其中包含我的表单。
我想避免这种行为,并在捕获 OK 后直接返回调用捕获插件的页面。
有谁知道强制PhoneGap的webView在捕获后不刷新内容的方法?