WebView,回到应用程序(shouldOverrideUrlLoading VS JavascriptInterface)

时间:2019-01-30 16:08:09

标签: android webview

在我的应用程序中

  1. 用户单击一个按钮,将打开一个用于付款的网络视图
  2. 付款用户必须自动返回到应用程序

起初我使用JavascriptInterface

@JavascriptInterface
        public void backtoapp() {


            ((mainac) getActivity()).runOnUiThread(new Runnable() {
                @Override
                public void run() {

                    FragmentManager fm = getFragmentManager();
                    fm.popBackStack();

                }
            });



        }

并像这样调用backtoapp()

.
.
<body>
<script>
jint.backtoapp();
</script>
</body>

但是我发现了应该使用ShouldOverrideUrlLoading

的新方法
webv.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {

                if (url.startsWith("myapp://")) {

                    FragmentManager fm = getFragmentManager();
                    fm.popBackStack();



                } 

                return true;
            }
.
.

并以此返回到应用

<?php
header("Location: myapp://openme");
?>

我想知道哪种方法更好,并交叉api> 15

0 个答案:

没有答案