android - 想要在 webview android 中完成 url 加载后将 webview 重定向到其他 Intent

标签 android android-intent android-activity webview

我想在 url 加载完成时将 webview 重定向到另一个 Activity 完全的。这是我的 webview 代码:- 此类由 webview 扩展

   **   1)  This the method where I am doing code for redirecting webview to activity**

> 这是加载 url 的 onPagefinished 方法。

            public void onPageFinished(WebView view, String url) {
                if (url.endsWith("paymentconfirmation/"))
                    ((DibsPaymentScreen) getContext())
                            .setCancelDisallowed(false);
                if (callbackUrl.equals(url)
                        && statusCancelled.equals(paymentData.params
                                .get(statusKey))) {
                    paymentResultListener.cancelUrlLoaded();
                } else if (callbackUrl.equals(url)
                        && statusAccepted.equals(paymentData.params
                                .get(statusKey))) {
                    paymentResultListener.paymentAccepted(paymentData.params);

                } else if (!windowIsLoaded) {
                    paymentWindowLoaded();

                }

                super.onPageFinished(view, url);
            }

                        public boolean shouldOverrideUrlLoading(WebView view, String url) {

                            if (url.equals("http://nmotion.dk/paymentconfirmation/")) {
                                Intent intent = new Intent(getContext(),
                                RestaurantsListScreen.class);
                            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        getContext().startActivity(intent);
                                return true;
                            }
                            return false;
}

最佳答案

你必须在 WebView WebViewCLient 中实现 on finish loader

webview.setWebViewClient(new WebViewClient(){
    @Override
    public void onPageFinished(WebView view, String url) {
        // create your intent here
        super.onPageFinished(view, url);
    }
});

编辑白衣提供的代码

public void onPageFinished(WebView view, String url) {
   if (url.equals("http://nmotion.dk/paymentconfirmation/")) {

       Intent intent = new Intent(getContext(), RestaurantsListScreen.class);
       intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
       getContext().startActivity(intent);

       return true;

   } else {
            if (url.endsWith("paymentconfirmation/")){
                ((DibsPaymentScreen) getContext()).setCancelDisallowed(false);
            }
            if (callbackUrl.equals(url) && statusCancelled.equals(paymentData.params.get(statusKey))) {
                paymentResultListener.cancelUrlLoaded();

            } else if (callbackUrl.equals(url)

               && statusAccepted.equals(paymentData.params.get(statusKey))) {
                paymentResultListener.paymentAccepted(paymentData.params);

            } else if (!windowIsLoaded) {
                paymentWindowLoaded();

            }

            super.onPageFinished(view, url);

    }

关于android - 想要在 webview android 中完成 url 加载后将 webview 重定向到其他 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27837354/

相关文章:

android - 如何在 Android Studio 中使用 PostResponseAsyncTask 将 SharedPreferences 设置为下一个 Activity 值?

Android Intent 在 Google+ 社区屏幕上启动 Google+ 应用程序

android - 可以使用现有布局创建新的 Android Activity 吗?

java - 如何在我的 android Activity 中的类中使用抽象方法?

c# - 如何使用 android 在 Xamarin 中获取根布局?

android - 我可以将特定值从 html 页面传递到我的 Activity 吗?

android - 在我的 Android 应用程序中保存状态

android - 我如何让用户在 Google map 中选择一个位置并将选择的点返回到我的 App Inventor 应用程序?

android - 蓝牙网关 : negotiating new MTU succeeds but new size cannot be used (3 bytes difference)

android - 垃圾回收导致 : MediaPlayer finalized without being released