2014-03-12 306 views
4

我有一個Phonegap打包應用程序,當按下按鈕時打開PDF查看器。我用FileOpener2插件做了它。Android WebView阻止頁面重新加載

當我從PDF查看器返回到應用程序時,結果因Android版本而異。

在Android 4. *應用程序保持它應該在離開應用程序之前。但是,在Android 2.3.7中,WebView會重新加載應用程序,這是我不期待的行爲。

我已經嘗試更改android:launchmode singleTask或singleInstance沒有成功。

當我回到Phonegap應用程序時,如何避免頁面重新加載?

在此先感謝!

更新1

我已經修改了其與延伸WebViewClient科爾多瓦或PhoneGap的類CordovaWebViewClient:

@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只有當應用程序開始被解僱,當它從另一個恢復不應用。

回答

5

回答我的問題,設置以下屬性,在AndroidManifest唯一Acivity解決問題。然而,我必須測試它,因爲它可能有我不知道的問題:

android:launchMode="singleInstance" 
android:alwaysRetainTaskState="true" 

乾杯!

更新

測試中的錯誤出現後選擇與PhoneGap的攝像頭插件庫中的照片,顯示「選擇取消」。

所以讀https://groups.google.com/forum/#!topic/phonegap/R08vOZNm580後,我設置:

android:launchMode="singleTask" 
android:taskAffinity="" 
android:excludeFromRecents="true" 
+0

哦,我的上帝,你救了我一命。感謝您的解決方案。 – Hamid

+0

所以,如果你設置了LaunchMode,我們是否需要在活動中使用上面的代碼'onLoadResource'? – rashidnk

1

在WebView中

的android.webkit.WebViewClient onLoadResource回調調用stopLoading
MyWebViewClient extend WebViewClient { 

public void onLoadResource (WebView view, String url) { 
    if(your condition){ 
     view.stopLoading(); 
    } 
} 
} 
+0

請看問題更新,請 – gonzalomelov