我有一个Phonegap打包的应用程序,当按下按钮时会打开一个PDF查看器。我是用FileOpener2插件做的。
当我从PDF返回应用程序时,结果会因Android版本而异。
在Android4.*中,应用程序在离开应用程序之前停留在应有的位置。然而,在Android2.3.7中,WebView重新加载应用程序,这是我所不期望的行为。
我已经尝试过将android:launchmode更改为singleTask或singleInstance,但没有成功。
当我回到Phonegap应用程序时,如何避免页面重新加载?
提前感谢!
更新1
我修改了Cordova或Phonegap类CordovaWebViewClient,它用以下方式扩展了WebViewClient:
@Override
public void onLoadResource(WebView view, String url) {
if (url.equals("file:///android_asset/www/index.html")) {
if (this.firstLoad) {
this.firstLoad = false;
} else {
view.stopLoading();
}
}但是,只有在应用程序启动时才会触发onLoadResource,而不是当它从另一个应用程序恢复时才会触发。
发布于 2014-03-14 17:50:33
在回答我自己的问题时,将以下属性设置为AndroidManifest中的唯一属性可以解决这个问题。但是,我必须测试它,因为它可能存在一些我不知道的问题:
android:launchMode="singleInstance"
android:alwaysRetainTaskState="true"干杯!
更新
经过测试,一个bug出现了,在图片库中选择了一张带有Phonegap摄像头插件的照片,显示“选择被取消”。
因此,在阅读https://groups.google.com/forum/#!topic/phonegap/R08vOZNm580之后,我设置了:
android:launchMode="singleTask"
android:taskAffinity=""
android:excludeFromRecents="true"发布于 2014-03-12 13:02:07
在android.webkit.WebViewClient onLoadResource中调用stopLoading of WebView
MyWebViewClient extend WebViewClient {
public void onLoadResource (WebView view, String url) {
if(your condition ){
view.stopLoading();
}
}
}https://stackoverflow.com/questions/22352041
复制相似问题