首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android WebView防止页面重新加载

Android WebView防止页面重新加载
EN

Stack Overflow用户
提问于 2014-03-12 12:46:52
回答 2查看 7.7K关注 0票数 5

我有一个Phonegap打包的应用程序,当按下按钮时会打开一个PDF查看器。我是用FileOpener2插件做的。

当我从PDF返回应用程序时,结果会因Android版本而异。

在Android4.*中,应用程序在离开应用程序之前停留在应有的位置。然而,在Android2.3.7中,WebView重新加载应用程序,这是我所不期望的行为。

我已经尝试过将android:launchmode更改为singleTask或singleInstance,但没有成功。

当我回到Phonegap应用程序时,如何避免页面重新加载?

提前感谢!

更新1

我修改了Cordova或Phonegap类CordovaWebViewClient,它用以下方式扩展了WebViewClient:

代码语言:javascript
复制
@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,而不是当它从另一个应用程序恢复时才会触发。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-14 17:50:33

在回答我自己的问题时,将以下属性设置为AndroidManifest中的唯一属性可以解决这个问题。但是,我必须测试它,因为它可能存在一些我不知道的问题:

代码语言:javascript
复制
android:launchMode="singleInstance"
android:alwaysRetainTaskState="true"

干杯!

更新

经过测试,一个bug出现了,在图片库中选择了一张带有Phonegap摄像头插件的照片,显示“选择被取消”。

因此,在阅读https://groups.google.com/forum/#!topic/phonegap/R08vOZNm580之后,我设置了:

代码语言:javascript
复制
 android:launchMode="singleTask"
 android:taskAffinity=""
 android:excludeFromRecents="true"
票数 9
EN

Stack Overflow用户

发布于 2014-03-12 13:02:07

在android.webkit.WebViewClient onLoadResource中调用stopLoading of WebView

代码语言:javascript
复制
MyWebViewClient extend WebViewClient {

public void onLoadResource (WebView view, String url) {
    if(your condition ){
         view.stopLoading();
    }
}
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22352041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档