相关疑难解决方法(0)

Android Webview POST

我试图完成一些非常简单的事情,但我没有找到关于此的好文档.我有一个webView,我需要加载一个需要POST数据的页面.看起来像一个简单的过程,但我找不到在webView中显示结果的方法.

这个过程应该很简单:

查询(使用POST数据) - > webserver - > HTML response - > WebView.

我可以使用DefaultHttpClient提交数据,但这不能在WebView中显示.

有什么建议?

非常感谢

private static final String URL_STRING = "http://www.yoursite.com/postreceiver";

    public void postData() throws IOException, ClientProtocolException {  

         List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();  
         nameValuePairs.add(new BasicNameValuePair("foo", "12345"));  
         nameValuePairs.add(new BasicNameValuePair("bar", "23456"));

         HttpClient httpclient = new DefaultHttpClient();  
         HttpPost httppost = new HttpPost(URL_STRING);  
         httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));  

         HttpResponse response = httpclient.execute(httppost);  
         String data = new BasicResponseHandler().handleResponse(response);
         mWebView.loadData(data, "text/html", "utf-8");
    }
Run Code Online (Sandbox Code Playgroud)

post android webview

43
推荐指数
3
解决办法
6万
查看次数

forOverrideUrlLoading在WebView for Android中未运行

-Edit:找到解决方案
- 在经过一番繁重的搜索后想出来 - 一个人(我的意思是一个人)说他们改为使用onPageLoad(); 这完全符合我的目的.区别在于onPageLoad()的运行时间晚于shouldOverrideUrlLoading,但它对我的代码没有影响.

我正在尝试使用OAuth为Android应用程序设置Twitter授权,到目前为止我可以成功将用户发送到授权URL,但是,我现在要做的是拦截重定向到回调(这只是导致404错误,我们的回调URL不会在我们的服务器上有关联的页面).我要做的是检查URL是否是我们的回调,然后从URL中提取OAuth Verifier.我使用以下代码设置我的WebView:

view = (WebView)findViewById(R.id.twitterWbVw);
view.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView wView, String url)
    {
        String urlHolder;
        String[] verifExtrctr;
        urlHolder = url.substring(0, url.indexOf('?'));
        System.out.println("url");
        if(urlHolder.equalsIgnoreCase(CALLBACK_URL))
        {
            verifExtrctr = urlHolder.split("?");
            verifExtrctr = verifExtrctr[2].split("=");
            if(verifExtrctr[0].equalsIgnoreCase("oauth_verifier"))
            {
                params[5] = verifExtrctr[1];
                return true;
            }
            else
            {
                System.out.println("Inocorrect callback URL format.");
            }
        }
        else    
        {
            wView.loadUrl(url);
        }
        return true;
    }
});
view.loadUrl(urlAuthorize.toExternalForm());
Run Code Online (Sandbox Code Playgroud)

事情甚至是System.out.println("url"); (我用来调试)不运行!所以我的想法非常枯燥,找不到有类似问题的人.授权URL运行良好,我可以成功授权应用程序,但由于某种原因重定向到回调URL永远不会被截获.任何帮助将不胜感激,这是在我的onResume(),如果这很重要.

https android android-webview webviewclient

21
推荐指数
2
解决办法
6万
查看次数

Android WebView协议处理程序

我正在尝试使用WebView开发Android浏览器应用程序,使用户能够从自定义协议访问内容.自定义协议可能是foob​​ar://

我想拦截对此自定义协议的所有请求.这意味着:

  1. GET请求
  2. POST请求

我需要能够将这些操作的结果交还给WebView.

可以使用shouldInterceptRequest(可从API级别11获得)处理GET请求.

现在我的问题是:我如何能够接受和处理POST请求

这里这里已经提出几乎相同的问题,但是没有找到他们的问题的解决方案.

android url-interception protocol-handler android-webview webviewclient

7
推荐指数
1
解决办法
2584
查看次数