获取从webview android重定向的链接
我正在尝试在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 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 现在,如果参数输入正确,该链接将以以
谢谢大家! 如果您在活动或片段中使用自己的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();
}
返回响应;
}
谢谢,但新返回的链接不在“地址栏”中,而是显示在页面正文上。上面的代码可以工作吗?