无法访问Android中Webview的html文件中存在的url

无法访问Android中Webview的html文件中存在的url,第1张

概述我正在尝试使用ShouldOverrideUrlLoading方法访问URL.由于某些原因,当我尝试访问html文件中存在的url时,出现网页不可用错误.以前我可以访问该url,因为我将html文件存储在原始文件夹中,但是我需要将其移至资产中文件夹,因为代码看起来更干净.这是我的代码,谁能让我知道如何解决这个

我正在尝试使用ShouldOverrIDeUrlLoading方法访问URL.由于某些原因,当我尝试访问HTML文件中存在的url时,出现网页不可用错误.以前我可以访问该url,因为我将HTML文件存储在原始文件夹中,但是我需要将其移至资产中文件夹,因为代码看起来更干净.这是我的代码,谁能让我知道如何解决这个问题.

webvIEw.setWebChromeClIEnt(new WebChromeClIEnt());webvIEw.setWebVIEwClIEnt(new WebVIEwClIEnt());webvIEw.loadUrl("file:///androID_asset/myfile/file.HTML");webvIEw.setVerticalScrollbarEnabled(false);webvIEw.setWebVIEwClIEnt(new WebVIEwClIEnt(){    public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw, String url) {        if (url.equalsIgnoreCase("some text")){            setDialog("some fancy text");        }

解决方法:

尝试先获取文件的真实路径,然后按以下方式尝试:

String YourURI="/androID_asset/myfile/file.HTML";YourURI = new file(getRealPathFromURI(YourURI));//Got the Real Path Of the fileprivate String getRealPathFromURI(Uri contentURI) {  Cursor cursor = getContentResolver().query(contentURI, null, null, null, null);   cursor.movetoFirst();   int IDx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);   return cursor.getString(IDx); }webvIEw.setWebChromeClIEnt(new WebChromeClIEnt());webvIEw.setWebVIEwClIEnt(new WebVIEwClIEnt());webvIEw.loadUrl(YourURI);                      //**Used the Real Path**webvIEw.setVerticalScrollbarEnabled(false);webvIEw.setWebVIEwClIEnt(new WebVIEwClIEnt(){    public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw, String url) {        if (url.equalsIgnoreCase("some text")){            setDialog("some fancy text");        }}    

如果文件在SDCARD中:

webvIEw.setWebChromeClIEnt(new WebChromeClIEnt());webvIEw.setWebVIEwClIEnt(new WebVIEwClIEnt());if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){  Log.d(TAG, "No SDCARD");} else {  webvIEw.loadUrl("file://"+Environment.getExternalStorageDirectory()                                   +"/androID_asset/myfile/file.HTML");}webvIEw.setVerticalScrollbarEnabled(false);webvIEw.setWebVIEwClIEnt(new WebVIEwClIEnt(){    public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw, String url) {        if (url.equalsIgnoreCase("some text")){            setDialog("some fancy text");        }}    

最终编辑:-此代码非常适合资产文件夹

public class MyActivity extends Activity {      @OverrIDe      public voID onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);        setContentVIEw(R.layout.webvIEw);          WebVIEw webvIEw;          webvIEw = (WebVIEw) findVIEwByID(R.ID.webVIEw1);          webvIEw.loadUrl("file:///androID_asset/myfile/file.HTML");    }  }
总结

以上是内存溢出为你收集整理的无法访问Android中Webview的html文件中存在的url全部内容,希望文章能够帮你解决无法访问Android中Webview的html文件中存在的url所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1210921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存