我正在为Android和iPhone制作一个webview应用程序。
在Android中,我面临一个问题
我有像这样的自定义WebviewClient的webview
webView.setWebViewClient(new MyWebViewClient());
这是我的自定义WebviewClient类
private class MyWebViewClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if (url.equalsIgnoreCase(MyConstants.fb_share)) {
view.stopLoading();
//Want to get POST parameters embedded with the url.
Intent i = new Intent(context, FaceBookActivity.class);
i.putExtra("FB_SHARE_URL", url);
startActivity(i);
}
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
loadedUrl = url;
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
}
在onPageStarted()方法中注意:我正在开始其他活动。但是在这里我想用URL获取POST参数。是否有任何方法可以使用URL嵌入帖子参数?
在iPhone中,可以获取POST网址参数。
答案 0 :(得分:2)
使用Android WebView无法执行此操作(查看POST数据),因为它不允许您查看发送到服务器的数据。您可以使用JavaScript重新编写页面输出字段的值(或将方法更改为GET),但使用任一方法处理图像可能都不是一件容易的事。
由于您编写了“嵌入了网址的POST参数”,我想知道表单是否使用method ='get',在这种情况下请看一下这个答案:Parsing query strings on Android
此外,请勿从stopLoading
拨打onPageStarted
,这将在比赛中结束。使用shouldOverrideUrlLoading
(只需从那里返回true而不是调用stopLoading
)。