Android 啟動瀏覽器的方法
啟動android預設瀏覽器
Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri url = Uri.parse("http://www.baidu.com"); intent.setData(url); startActivity(intent);
指定相應的瀏覽器訪問
1、指定android內建的瀏覽器訪問
(“com.android.browser”:packagename;“com.android.browser.BrowserActivity”:啟動主activity) Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("http://www.cnblogs.com"); intent.setData(content_url); intent.setClassName("com.android.browser","com.android.browser.BrowserActivity"); startActivity(intent);
2、啟動其他瀏覽器(當然該瀏覽器必須安裝在機器上)
只要修改以下相應的packagename 和 主啟動activity即可調用其他瀏覽器
intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");
uc瀏覽器":"com.uc.browser", "com.uc.browser.ActivityUpdate“
opera:"com.opera.mini.android", "com.opera.mini.android.Browser"
qq瀏覽器:"com.tencent.mtt", "com.tencent.mtt.MainActivity"
三、開啟本地html檔案
開啟本地的html檔案的時候,一定要指定某個瀏覽器,而不能採用方式一來瀏覽,具體範例程式碼如下
Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("content://com.android.htmlfileprovider/sdcard/help.html"); intent.setData(content_url); intent.setClassName("com.android.browser","com.android.browser.BrowserActivity"); startActivity(intent);
關鍵點是調用了”content“這個filter。
以前有在win32編程的朋友,可能會覺得用這種形式”file://sccard/help.html“是否可以,可以很肯定的跟你說,預設的瀏覽器設定是沒有對”file“這個進行解析的,如果要讓你的預設android瀏覽器有這個功能需要自己到android源碼修改manifest.xml檔案,然後自己編譯瀏覽器代碼產生相應的apk包來重新在機器上安裝。
大體的步驟如下:
1、開啟 packages/apps/Browser/AndroidManifest.xml檔案把加到相應的後面就可以了
2、重新編譯打包,安裝,這樣子,新的瀏覽器就支援”file“這個形式了。