在Android的WebChromeClient中打开静态html页面时,url中会添加更多字符

在Android的WebChromeClient中打开静态html页面时,url中会添加更多字符,android,android-webview,Android,Android Webview,我收到错误,因为文件://#/android_asset/webpage.htm处的网页无法加载为:是一个目录。在模拟器中 但是我的代码是webView.loadUrl(“file:///android_asset/webpage.htm"); 首先,页面呈现完美,但呈现后再次刷新页面,不会加载,并将使网页不可用。 如果我们可以仔细查看android emulator给出的url,在android_资产之前还有两个额外的字符 下面是代码 public class Catalog extends

我收到错误,因为文件://#/android_asset/webpage.htm处的网页无法加载为:是一个目录。在模拟器中

但是我的代码是
webView.loadUrl(“file:///android_asset/webpage.htm");

首先,页面呈现完美,但呈现后再次刷新页面,不会加载,并将使网页不可用。 如果我们可以仔细查看android emulator给出的url,在android_资产之前还有两个额外的字符

下面是代码

public class Catalog extends Activity {
final Activity activity = this;
WebView webView;
 ProgressDialog progressDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);//used for rendering percentage of loading 
setContentView(R.layout.catalog_layout);

try{

    webView = (WebView) findViewById(R.id.browserwebview);
    webView.getSettings().setJavaScriptEnabled(true);

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

                if(progress == 100){
                    activity.setTitle(R.string.app_name);

                }

            }

        });

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
            {
                Toast.makeText(activity, "Oh no!"+ description, Toast.LENGTH_SHORT).show();

            }

            @Override
            public void onLoadResource (WebView view, String url) {


            }




            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url)
            {


                return true;
            }


        });





        webView.loadUrl("file:/android_asset/web/webpage.html");


}
catch (Exception e) {
    e.printStackTrace();
}


ImageButton btnBack = (ImageButton)this.findViewById(R.id.buttonBackCatalog);
btnBack.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
        if(webView.canGoBack()){
             webView.goBack();
        }else{
            Intent myIntent = new Intent(view.getContext(), FCFActivity.class);`
           `startActivityForResult(myIntent, 0);
        }


    }


});


/*
 * Actions for footer Buttons
 * 
 */

ImageButton buttonFooterMainHome = (ImageButton)findViewById(R.id.footerMainBtnHome);
buttonFooterMainHome.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
        Intent myIntent = new Intent(view.getContext(), FCFActivity.class);
        startActivityForResult(myIntent, 0);

    }
});


LinearLayout homeLinearLayout=(LinearLayout)this.findViewById(R.id.footerLayoutHome);
homeLinearLayout.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
        Intent myIntent = new Intent(view.getContext(), FCFActivity.class);
        startActivityForResult(myIntent, 0);

    }
});






}
     @Override
    public void onConfigurationChanged(final Configuration newConfig)
    {
        // Ignore orientation change to keep activity from restarting
        super.onConfigurationChanged(newConfig);

        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {

        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){

        }

    }
}
期待您的回复


谢谢。

哦,这让我头疼,他们改变了其中一个安卓版本的工作方式,但记不清是哪个版本了。以下是我的工作:

webView.loadUrl("file:/android_asset/webpage.html");
如果您的静态网页有图像,请使用此链接:

file:///android_asset/yourimage.png

编辑并尝试以下操作:,清理项目并检查资产文件是否位于路径。

是否已将html放置在资产文件夹中尝试了您的方法,但网页仍然不可用。谢谢。@Mukunda那么你需要提供更多的信息,你一定是做错了什么。我已经用代码更新了,有什么帮助吗?为什么我得不到这个网页。谢谢。你是对的,一些javascript向url添加了额外的字符,当我删除文件时,它工作正常。谢谢。让我直说吧。您可以访问网页,但当进度条加载完毕后,您会收到错误消息吗?尝试删除它,看看它是否相关?尝试使用一个非常简单的html文件?
- `You are using only htm use html` 


webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new myWebClient());
webview.loadurl();
and


 public class myWebClient extends WebViewClient  
         {  
             @Override  
             public void onPageStarted(WebView view, String url, Bitmap favicon) {  
                 // TODO Auto-generated method stub  
                 super.onPageStarted(view, url, favicon);  
             }  

             @Override  
             public boolean shouldOverrideUrlLoading(WebView view, String url) {  
                 // TODO Auto-generated method stub  

                 view.loadUrl(url);  
                 return true;  

             }  
         }