file:///android_asset/www/trialhtml.html对Web浏览器等外部应用程序没有任何意义.
其他应用程序无法访问您资产中的任何文件.你有2个选择.
>将html文件复制到共享存储,以便webbrowser可以访问该文件.
>然后在应用程序中的新Activity或片段中实现WebView
webview.loadUrl( “文件:///android_asset/www/trialhtml.html”);
您不需要像其他答案指示您一样阅读资产. WebView将在幕后处理所有这些,包括加载其他资产,如图像
作为旁注,如果Web浏览器能够读取您的文件,您将不想使用
i.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
这是因为您明确要求某个浏览器,可能会也可能不会安装在用户的设备上.我有理由相信,在一些只安装了Chrome的现代Android设备上并非如此.
正确的用法是这样的
Uri uri = Uri.parse("http://www.example.com");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
通过不显式设置类和包名称,这可确保无论安装哪个Web浏览器,都将选择用户默认值.