在Android WebView中检测并附加POST参数

时间:2012-12-20 10:09:13

标签: android forms http post webview

我正在为Android开发一款严重依赖互联网内容的应用。在应用程序中,我有一个WebView,可以让用户浏览我们的安全网站。这很有效。但有时我们需要在我们的原生应用程序中触发一个方法。

为此,我们需要在用户提交表单时查找POST请求,查找特定参数,如果参数在那里,请在提交之前将另一个参数附加到POST请求。

我们的应用程序支持较旧的API非常重要。至少API级别8.在iOS中,这是一块蛋糕。我们只是拦截了URL请求并附加了我们的url编码参数。然而在Android中,它要困难得多。我无法在不对我们的网站进行任何更改的情况下找到拦截请求的方法。

我尝试覆盖webviews的loadUrl()方法和postUrl()方法,但是当用户与webview中的href交互时,似乎没有调用它们。我们要查找的具体参数可以来自不同的网址,因此不应该覆盖网址本身或硬编码表单名称。我希望有人能帮助我解决这个问题。

2 个答案:

答案 0 :(得分:2)

您可以使用javascript拦截发布。由于您可以使用javascript验证所有输入,您还可以设置所有键=值对。 javascript本身只能执行get请求。如果不允许,请使用android javascript桥来执行帖子。

答案 1 :(得分:-1)

查看WebViewClient http://developer.android.com/reference/android/webkit/WebView.html#setWebViewClient(android.webkit.WebViewClient)以获取webview。 使用此功能,您可以处理通过Webview查看的所有请求。