Android瀏覽器開啟本地html頁面
阿新 • • 發佈:2019-02-17
開啟本地的html檔案的時候,一定要指定某個瀏覽器,具體示例程式碼如下
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
Uri content_url = Uri.parse("content://com.android.htmlfileprovider/sdcard/test.html");
intent.setData(content_url);
intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");
startActivity(intent);
如果想以”file://sccard/test.html“的方式開啟,也是可以的,不過需要修改,預設的瀏覽器設定是沒有對”file“這個進行解析的,如果要讓你的預設android瀏覽器有這個功能需要自己到android原始碼修改manifest.xml檔案,然後自己編譯瀏覽器程式碼生成相應的apk包來重新在機器上安裝。
大體的步驟如下:
1、開啟 packages/apps/Browser/AndroidManifest.xml檔案把加到相應的<intent-filter>後面就可以了
<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>
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
Uri content_url = Uri.parse("content://com.android.htmlfileprovider/sdcard/test.html");
intent.setData(content_url);
intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");
startActivity(intent);
關鍵點是呼叫了”content“這個filter。
大體的步驟如下:
1、開啟 packages/apps/Browser/AndroidManifest.xml檔案把加到相應的<intent-filter>後面就可以了
<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“這個形式了。
把test.html放在system目錄下也是可以開啟的