专栏名称: 2Tu
Android
目录
相关文章推荐
51好读  ›  专栏  ›  2Tu

WebView深坑之onActivityResult设置loadurl无效解决

2Tu  · 掘金  ·  · 2017-12-25 01:05

正文

请到「今天看啥」查看全文


原因

还原代码
MainActivity implements RestoreActivityResultCallback

 @Override protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
.
.
.
   webView.setWebViewClient(new WebViewClient() {
     @Override public void onPageFinished(WebView view, String url) {
       super.onPageFinished(view, url);
       webView.onPageFinished(view, url);
     }
   });
   webView.addJavascriptInterface(new JSInteraction(), "contact");
   if (savedInstanceState != null) {
     webView.restoreState(savedInstanceState);
   } else {
     webView.loadUrl(url);
   }
 }
 
 @Override protected void onSaveInstanceState(Bundle outState) {
   super.onSaveInstanceState(outState);
   webView.saveState(outState);
 }
 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   super.onActivityResult(requestCode, resultCode, data);
   if (requestCode == REQUEST_CODE_PICK_CONTACT) {
     webView.onActivityResult(requestCode, resultCode, data);
     if (Activity.RESULT_OK == resultCode && data != null) {
       setContact(data);
     }
   }
 }
 @Override public void restoreActivityResult(int requestCode, int resultCode, Intent data) {
   if (requestCode == REQUEST_CODE_PICK_CONTACT && RESULT_OK == resultCode) {
     setContact(data);
   }
 }
 private void setContact(Intent data) {
   String contact = readContactFormResult(data);
   webView.loadUrl("javascript:setContact(\"" + contact + "\")");
 }

Activity WebView restore流程







请到「今天看啥」查看全文


推荐文章
手艺门  ·  中式建筑,惊艳世界的美!
8 年前
趣味漫画  ·  你听懂渣男的专属潜台词了吗?
8 年前
陆琪  ·  小三的自我救赎
8 年前
译言  ·  译言要找程序员啦~~~
8 年前