有两种方法:
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控件
< WebView android:id ="@+id/wv1" android:layout_width ="fill_parent" android:layout_height ="fill_parent"/>
再在主文件中输入如下代码
publicclassTestDemoextendsActivity{
/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);WebViewwView=(WebView)findViewById(R.id.wv1);WebSettingswSet=wView.getSettings();wSet.setJavaScriptEnabled(true);//wView.loadUrl("file:///android_asset/index.html");//wView.loadUrl("content://com.android.htmlfileprovider/sdcard/index.html");wView.loadUrl(""); } }
解释:
//wView.loadUrl("file:///android_asset/index.html");
—–打开本包内asset目录下的index.html文件//wView.loadUrl("content://com.android.htmlfileprovider/sdcard/index.html");
—–打开本地sd卡内的index.html文件//wView.loadUrl("");
—–打开指定URL的html文件
版权声明:本文为博主原创文章,未经博主允许不得转载。
这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的!