Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中通过webview处理支付网关_Android_Webview_Payment Gateway_Ccavenue - Fatal编程技术网

如何在android中通过webview处理支付网关

如何在android中通过webview处理支付网关,android,webview,payment-gateway,ccavenue,Android,Webview,Payment Gateway,Ccavenue,我们在我们的项目中添加了一个活动,用户可以通过该活动购买一些东西,我们在web视图中打开客户提供给我们的URL。 他们正在使用一条通道。 在某些手机上,购买完成后,URL会被卡住,并在无限长的时间内显示spinner。 在某些手机上,URL重定向工作顺利,用户可以购买东西 你们能帮我们解决这个问题吗?这是我们的web视图代码 private void launchWebView(String URL) { webView.setInitialScale(1);

我们在我们的项目中添加了一个活动,用户可以通过该活动购买一些东西,我们在web视图中打开客户提供给我们的URL。 他们正在使用一条通道。 在某些手机上,购买完成后,URL会被卡住,并在无限长的时间内显示spinner。 在某些手机上,URL重定向工作顺利,用户可以购买东西

你们能帮我们解决这个问题吗?这是我们的web视图代码

private void launchWebView(String URL)
    {

            webView.setInitialScale(1);
            webView.getSettings().setLoadWithOverviewMode(true);
            webView.getSettings().setUseWideViewPort(true);

            webView.getSettings().setJavaScriptEnabled(true);

            webView.getSettings().setAllowFileAccess(true);
            webView.getSettings().setAllowContentAccess(true);
            webView.setScrollbarFadingEnabled(false);


            webView.setWebChromeClient(new WebChromeClient(){
                @Override
                public void onProgressChanged(WebView view, int newProgress) {
                    if(newProgress == 100){
                        mProgressBar.setVisibility(View.GONE);
                    }else{
                        mProgressBar.setVisibility(View.VISIBLE);
                        mProgressBar.setProgress(newProgress);
                    }
                }

            });

        webView.setWebViewClient(new WebViewClient(){

            public boolean shouldOverrideUrlLoading(WebView view,String url){
                return false;
            }
            //To Handle SSL Errors
            @Override
            public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
                final AlertDialog.Builder builder = new AlertDialog.Builder(context);
                builder.setMessage("The site's security certificate is not trusted!");
                builder.setPositiveButton("Proceed anyway", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        handler.proceed();
                    }
                });
                builder.setNegativeButton("Back To safety", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        handler.cancel();
                    }
                });
                final AlertDialog dialog = builder.create();
                dialog.show();
            }
        });


            webView.loadUrl(URL);

            mProgressBar = (ProgressBar)findViewById(R.id.offer_page_progressbar);
            mProgressBar.setMax(100);


    }

你能解释一下你的代码吗,或者任何关于它的链接/教程/博客。
   private void startWebView(String url) {
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }

        //Show loader on url load
        @Override
        public void onLoadResource(WebView view, String url) {
        }

        @Override
        public void onPageFinished(WebView view, String url) {

            try {

                if (url.contains("/wallet-recharge/failed")) {
                    finishMethod();
                } else if (url.contains("/wallet-recharge/pay-completed")) {
                    webview.clearHistory();
                    Intent broadcastIntent = new Intent();
                    broadcastIntent.setAction("com.package.ACTION_CLASS_CABILY_MONEY_REFRESH");
                    sendBroadcast(broadcastIntent);
                    finishMethod();
                } else if (url.contains("/wallet-recharge/pay-cancel")) {
                    finishMethod();
                }

            } catch (Exception exception) {
                exception.printStackTrace();
            }
        }
    });

    //Load url in webView
    webview.loadUrl(url);
}