获取从webview android重定向的链接

获取从webview android重定向的链接,android,webview,Android,Webview,我正在尝试在android中实现一个支付网关,当点击“支付”按钮时,支付处理器需要发送一些参数。示例链接是: notify_url=http%3A%2F%2Fwww.example.com%2Fnotification.php& success\u url=http%3A%2F%2Fwww.example.com%2Fthank\u you.html&fail\u url=http%3A%2F%2Fwww.example.com%2Ffailed.html 现在,如果参数输入正确,该链接将以以

我正在尝试在android中实现一个支付网关,当点击“支付”按钮时,支付处理器需要发送一些参数。示例链接是:

notify_url=http%3A%2F%2Fwww.example.com%2Fnotification.php& success\u url=http%3A%2F%2Fwww.example.com%2Fthank\u you.html&fail\u url=http%3A%2F%2Fwww.example.com%2Ffailed.html

现在,如果参数输入正确,该链接将以以下格式返回另一个链接:当访问该链接时,将显示VPay payment页面,该页面可用于根据提供的参数进行付款

当生成新链接时,支付处理程序应该采用自动重定向,相反,它只显示新链接并停留在那里。有没有办法获得这个新的“返回”链接,然后访问它,这样用户就可以输入付款信息


谢谢大家!

如果您在活动或片段中使用自己的Webview进行支付,则以下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);

            } 

        }); 
在shouldOverrideUrlLoading方法中,您将根据url添加条件,以确定是否在webview中加载此url

要获取url的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;
} 
publicstringgethtml(字符串url){
HttpClient vClient=new DefaultHttpClient();
HttpGet vGet=新的HttpGet(url);
字符串响应=”;
试试{
ResponseHandler vHandler=新的BasicResponseHandler();
响应=vClient.execute(vGet、vHandler);
}捕获(例外e){
e、 printStackTrace();
} 
返回响应;
} 

谢谢,但新返回的链接不在“地址栏”中,而是显示在页面正文上。上面的代码可以工作吗?