有两种方法:
1、代码 如下:
Intent intent=new Intent();
intent.setAction("android .intent.action.VIEW");
Uri CONTENT_URI_BROWSERS = Uri.parse("content://com.android.htmlfileprovider/sdcard/123.html");
intent.setData(CONTENT_URI_BROWSERS);
intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
startActivity(intent);
假设要打开的本地html文件 存放在如下路径 /sdcard/123.html
如果出现错误:
Unable to find explicit activity class {
com.google.android.browser/com.android.browser.BrowserActivity};
have you declared this activity in your AndroidManifest.xml?
用
intent.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"));
代替
intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
至于原因,由于时间原因没有研究,希望有知道的跟贴解释。
2、使用webview来实现:
首先在 layout文件夹下的xml中 加入WebView控件
android:id ="@+id/wv1"
android:layout_width ="fill_parent"
android:layout_height ="fill_parent"
/>
public class TestDemo extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView wView = (WebView)findViewById(R.id.wv1);
WebSettings wSet = wView.getSettings();
wSet.setJavaScriptEnabled(true );
//wView.loadUrl("file:///android_asset/index.html");
//wView.loadUrl("content://com.android.htmlfileprovider/sdcard/index.html");
wView.loadUrl("http://wap.baidu.com" );
}
}
解释:
//wView.loadUrl("file:///android_asset/index.html ");
----- 打开本包内asset目录下的index.html文件
//wView.loadUrl("content://com.android.htmlfileprovider/sdcard/index.html");
----- 打开本地sd卡内的index.html文件
//wView.loadUrl("http://wap.baidu.com ");
----- 打开指定URL的html文件
本文介绍了在Android中如何使用Intent和WebView打开本地HTML文件。第一种方法涉及创建Intent,设置ACTION_VIEW,指定数据URI,并启动BrowserActivity。如果遇到找不到活动的错误,可以尝试使用intent.setComponent()。第二种方法是通过在XML布局中添加WebView,然后在Activity中设置JavaScript支持并加载本地HTML文件。

1787

被折叠的 条评论
为什么被折叠?



