获取从webview android重定向的链接

时间:2015-11-10 12:40:29

标签: android webview

我正在尝试在Android中实现支付网关,并且支付处理器需要在" Pay"单击按钮。示例链接是:

https://vpay.com/?p=linkToken&v_merchant_id=qa331322179752&merchant_ref=234-567-890&memo=Bulk+order+from+McAckney+Web+Shop&total=13000& notify_url = HTTP%3A%2F%2Fwww.example.com%2Fnotification.php&安培; success_url = HTTP%3A%2F%2Fwww.example.com%2Fthank_you.html&安培; fail_url = HTTP%3A%2F%2Fwww.example.com%2Ffailed.html

现在,如果参数输入正确,该链接将返回格式为https://vpay.com/pay/bnlink/xxxxxxxx-x0的另一个链接,访问时会根据提供的参数显示可用于付款的VPay付款页面。

支付处理器应该在生成新链接时使用自动重定向,而只是显示新链接并保留在那里。有没有办法让这个新的"返回"链接然后访问它,以便用户输入付款信息。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您在活动中使用自己的网页视图或付费内容片段,则可以使用以下Webview方法。下面是一段有用的代码:

webview.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                Log.i(TAG, "Processing webview url click...");
                view.loadUrl(url);
                Log.v(TAG,"html content of url:"+ getHtml(String url) ); 

                return true; 
            } 

            public void onPageFinished(WebView view, String url) {
                Log.i(TAG, "Finished loading URL: " +url);

            } 

        }); 
<\ n>在shouldOverrideUrlLoading方法中,您将根据网址添加条件是否在webview中加载此网址。

要获取网址的html内容,请使用以下方法:

public String getHtml(String url) {
    HttpClient vClient = new DefaultHttpClient();
    HttpGet vGet = new HttpGet(url);
    String response = "";    

    try { 
        ResponseHandler<String> vHandler = new BasicResponseHandler();
        response = vClient.execute(vGet, vHandler);
    } catch (Exception e) {
        e.printStackTrace();
    } 
    return response;
}