素人のアンドロイドアプリ開発日記

WebViewでTwitterが見れない&横に変な隙間が。

2011.11.17

アプリ内にWebViewを埋め込む際に、Twitterのページをスマホでアクセスをすると、ローディング画面がはじまりますが待てど暮らせど、ローディングが終わりません。

結局、内部にセッションを保ちたい場合には、その要素がwebclientに実装がされてない場合には自分で実装をしなくてはいけないようです。

 

【失敗談1】

キャッシュをオンする

webView.getSettings().setCacheMode(true)

上記で、キャッシュをオンしたのですが、やはり通じなかったです。

 

【失敗談2】

クッキーをオンする。(参照:AndroidのWebViewにて、mixiにログインするためのソース:urapicoのメモ帳

webView.setWebViewClient(new WebViewClient(){
 
 String loginCookie = "";    
 @Override
 public void onLoadResource(WebView wv, 
 String url){
 CookieManager cMgr = CookieManager.getInstance();
 loginCookie = cMgr.getCookie(url);
 }
 @Override
 public void onPageFinished(WebView wv, 
 String url){
 CookieManager cMgr = CookieManager.getInstance();
 cMgr.setCookie(url, loginCookie);
 }
 });

このmixiでできるなら、出来るだろうとタカをくくっていたのでショックでした。。

 

上記の2度の失敗で割りとあきらめかけたのですが、

Android1.6以降対応アプリのwebViewでTwitterがずーと表示されない現象への対処|アンドロイドノート(Android Note)

 

対処方法

webView.getSettings().setDomStorageEnabled(true);

とこの問題に直面している人が少なかったのは、きっとwebViewでtwitterにいくなんて事はしないで、twitterクライアントを選ばせて実行する方がandroidでポピュラーなのかなぁと思いました。

上記の感じで。

ツイッターが確認できました。

 

また、ついでになるのですが、デフォルトで、アンドロイドのスクロールバーの背景が白くなるので、右端に変な隙間みたいのができる時があります。そういう場合は

webView.setVerticalScrollbarOverlay(true);

で対応が可能です。

同じカテゴリの記事を紹介します

sslにおけるエラーの問題webviewにとりあえずblankを突っ込む方法WebChromeClientで使える関数のまとめWebViewClientで使える関数のまとめブラウザ制作でjavaとjavascriptの連携think itの記事でブラウザを作ってみる。webページを表示したい。ファイル一式WEBページを表示したい。機能用関数。WEBページを表示したい。マニフェストの変更。

カテゴリー:web連携

公開中のアプリ、是非ダウンロードしてみてください

2chまとめのたね

RSSを利用してさまざまなブログの情報をキュレーションしてくれるアプリ

インストールする

ひらがな戦記

OPENGL ES2 を利用したカルタのソーシャルゲーム

インストールする