WebView中的参数的URL无法在Android中运行?

mH1*_*H16 7 android

我试图使用下面的url在webview中调用loadUrl方法

http://stage.realtylog.net/iPhone/functions.php?username=xxx&ID=xxx&act=readFileAndPrint

调用此URL时,它会从服务器提供图像.我需要在webview上显示该图像.

它与普通的URL一起工作正常.但它没有使用带有参数的上述url.

它给我一个错误,如:

函数名必须是/var/www/stage/realtylog.net/iPhone/functions.php中的字符串

我试过URLEncode上面的url,但它仍然无法正常工作.任何形式的帮助将受到高度赞赏.

package com.hussain.webview2;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.webkit.SslErrorHandler;
import android.net.http.*;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;


public class WebViewDemo2Activity extends Activity
{
   final Activity activity = this;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
       super.onCreate(savedInstanceState);
       this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
       setContentView(R.layout.main);

       WebView webView = (WebView) findViewById(R.id.webview);
      // webView.setWebViewClient(new WebViewClient());
      // webView.addView(webView.getZoomControls());
      webView.getSettings().setJavaScriptEnabled(true);

      webView.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {
            activity.setTitle("Loading...");
            activity.setProgress(progress * 100);

            if(progress == 100)
                activity.setTitle("Done");
        }
    });

    webView.setWebViewClient(new WebViewClient() {
        @Override
       public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
       {
           // Handle the error
       }



        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }
    });

    //webView.loadUrl("http://developer.android.com");
    webView.loadUrl("http://stage.realtylog.net/iPhone/functions.php?username=xxxx&ID=xxxx&act=readFileAndPrint");


    }
}
Run Code Online (Sandbox Code Playgroud)

Din*_*llu 11

欢迎来到一个可怕的已知错误,谷歌不想修复,甚至解决.

http://code.google.com/p/android/issues/detail?id=17535


jee*_*eet 7

将您的网址更改为:

StringBuffer buffer=new StringBuffer("http://stage.realtylog.net/iPhone/functions.php");
buffer.append("?username="+URLEncoder.encode("xxxxxxx"));
buffer.append("&id="+URLEncoder.encode("xxxxxxxx"));
buffer.append("act="+URLEncoder.encode("readFileAndPrint"));
webView.loadUrl(buffer.toString());
Run Code Online (Sandbox Code Playgroud)

  • 谢谢这对我有用,但我认为您必须删除“用户名”之前的问号 (2认同)