本文主要講解Android瀏覽器的開發執行個體,有三部分內容:啟動Android預設瀏覽器、指定瀏覽器進行訪問以及開啟本地的html檔案。
一、啟動Android預設瀏覽器
Java代碼
Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("http://www.cnblogs.com"); intent.setData(content_url); startActivity(intent);
這樣子,android就可以調用起手機預設的瀏覽器訪問。
二、指定瀏覽器進行訪問
1、指定android內建的瀏覽器訪問
(“com.android.browser”:packagename;“com.android.browser.BrowserActivity”:啟動主activity)
Java代碼
Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("http://www.jizhuomi.com/android"); 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檔案的時候,一定要指定某個瀏覽器,而不能採用方式一來瀏覽,具體範例程式碼如下:
Java代碼
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檔案把加到相應的<intent-filter>後面就可以了。
XML/HTML代碼<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="file" /> </intent-filter>
2、重新編譯打包,安裝,這樣子,新的瀏覽器就支援"file”這個形式了。
以上就是對Android 瀏覽器的開發的範例程式碼,希望能協助開發此功能的朋友,謝謝大家的支援!