2012-03-22 29 views
8

私は複数のサイトからいくつかのウェブページを取得するために私のアンドロイドアプリでwebviewを使用しています。ウェブビューの動作に関する疑問がありますAndroid Webviewプライベートブラウジング

  1. webviewのストア履歴、クッキー、自動入力情報はありますか?はいの場合は、それをやめることはできますか?
  2. WebviewがCookieを保存している場合、電話上の他の通常のブラウザとCookieを共有していますか?(Webviewを使用して開いたときにCookieに保存された情報はユーザーが電話で別のブラウザからWebサイトを開くときに使用されます)
+0

WIH共有されていない私はそれだけでWebページをレンダリングしていないブラウザためのWebViewは保管しないと思います。 –

答えて

11

p1。 webviewストアの履歴、クッキー、自動入力情報を作成しますか?はいの場合は、それをやめることはできますか?

[回答]を停止するために、はい、WebViewの格納hisotry /クッキーおよびオートフィル

を:

//Make sure No cookies are created 
CookieManager.getInstance().setAcceptCookie(false); 

//Make sure no caching is done 
myWebView.getSettings().setCacheMode(mWebView.getSettings().LOAD_NO_CACHE); 
myWebView.getSettings().setAppCacheEnabled(false); 
myWebView.clearHistory(); 
myWebView.clearCache(true); 


//Make sure no autofill for Forms/ user-name password happens for the app 
myWebView.clearFormData(); 
myWebView.getSettings().setSavePassword(false); 
myWebView.getSettings().setSaveFormData(false); 

P2。 Webviewがクッキーを保存している場合、電話上の他の通常のブラウザとクッキーを共有していますか?(クッキーに保存された情報はwebviewを使用して開いたときにxyzに保存されます。

[答]号の情報が他の携帯電話のブラウザ

2
  1. はい、履歴、Cookieを保存し、オートフィル情報を形成するが、彼らはあなたのアプリケーションにローカルでのみ利用できるようになることができWebViewのは、システム全体ではありません。 this other SO answer

  2. 上記のように、アプリ内のwebviewに保存されているものは、他のブラウザのブラウザと共有されることはありません。

+2

'myWebView.clearFormData();'はフォームデータをクリアしません - 代わりに 'WebViewDatabase.getInstance(this).clearFormData()'を使います –