標籤:android
[java] view plaincopyprint?
- 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內建的瀏覽器訪問
[java] view plaincopyprint?
- (“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檔案的時候,一定要指定某個瀏覽器,而不能採用方式一來瀏覽,具體範例程式碼如下
[java] view plaincopyprint?
- 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>後面就可以了
[java] view plaincopyprint?
- <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 啟動瀏覽器的方法