From 728d57e306c94a04d9d201809f754b3fb0934dd7 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Wed, 23 Apr 2014 10:18:55 +0300 Subject: [PATCH] Fix: Chrome WebView not allowed to run in different threads. Reproduced on Android Kitkat Error: java.lang.RuntimeException: java.lang.Throwable: A WebView method was called on thread . All WebView methods must be called on the same thread. (Expected Looper Looper (main, tid 1) called on null, FYI main Looper is Looper (main, tid 1) ) --- twitter/src/com/sugree/twitter/TwDialog.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/twitter/src/com/sugree/twitter/TwDialog.java b/twitter/src/com/sugree/twitter/TwDialog.java index e5e925a..b179e59 100644 --- a/twitter/src/com/sugree/twitter/TwDialog.java +++ b/twitter/src/com/sugree/twitter/TwDialog.java @@ -132,7 +132,6 @@ private void retrieveRequestToken() { public void run() { try { mUrl = mProvider.retrieveRequestToken(mConsumer, Twitter.CALLBACK_URI); - mWebView.loadUrl(mUrl); } catch (OAuthMessageSignerException e) { mListener.onError(new DialogError(e.getMessage(), -1, Twitter.OAUTH_REQUEST_TOKEN)); } catch (OAuthNotAuthorizedException e) { @@ -142,6 +141,11 @@ public void run() { } catch (OAuthCommunicationException e) { mListener.onError(new DialogError(e.getMessage(), -1, Twitter.OAUTH_REQUEST_TOKEN)); } + mHandler.post(new Runnable() { + public void run() { + mWebView.loadUrl(mUrl); + } + }); } }.start(); }