2012-02-02 71 views
1

我有一個Android應用程序,其中包含一項活動,名爲Help這使用WebView以HTML格式顯示幫助內容。您可以通過兩種方式調用活動:傳遞URL或直接發送文本內容。我唯一傳給這個的URL是「file:///android_asset/help/index.html」(這是我的資產中包含的一個HTML頁面)。Android 4.0 WebView.loadURL古怪

傳遞網址在運行Android 2.2的HTC Desire上工作正常。它似乎也可以在運行Android 3.0的模擬器中工作。但是,當我在Android 4.0的模擬器中嘗試它時,它似乎嘗試啓動Web瀏覽器,而不是顯示空白頁面;當我關閉它時,我回到了我的幫助活動中,同時顯示一個空白頁面。

傳遞直接文本內容在我嘗試過的所有版本上工作正常。 WebView文檔中說:「請注意,爲了讓您的Activity訪問Internet並在WebView中加載網頁,您必須將INTERNET權限添加到您的Android Manifest文件中:」但是我不需要像訪問Internet一樣訪問Internet,我只想顯示我的應用程序內部幫助頁面。這適用於4.0之前的Android版本。

這是一個Android 4的錯誤?或者這只是我誤解的東西?謝謝你的幫助。

+0

你有沒有嘗試過,如果當你有INTERNET權限是否可行? – Ilkka 2012-02-09 06:04:57

+0

我真的不想補充一點,因爲我已經發布了沒有INTERNET權限的應用程序。避免嚮應用程序添加權限是一個不錯的主意,是不是:我們希望教授Android用戶對應用程序需要的權限持懷疑態度,而不是隻是盲目地單擊「接受」所有內容。 – 2012-02-09 06:13:27

+0

當然,我只是對它是否有所作爲感興趣。 – Ilkka 2012-02-09 20:39:46

回答

1

我在HTC Sensation上週從2.3.4更新到4.0。 我寫的兩個應用程序有一個本地HTML-Contact站點。 在2.3它運行良好,現在我得到一個「網頁不可用」的網站。

我在這個網站上發現了另一個帖子,評論: 「通過與Google工程師的一些討論,他們似乎已經決定file://方案是不安全的。

在這裏看到:Android 4.0.1 breaks WebView HTML 5 local storage?

+1

儘管必須將整個html放入字符串並轉義每個html引號,解決方法仍然有效。 不要浪費你的時間把它放入一個字符串(在string.xml中),因爲XML文件格式不正確。 – ChristianVK 2012-04-04 17:49:34

+0

謝謝您確認我不是唯一一個看到此內容的人,而且這是一個功能,而不是一個錯誤。 :) – 2012-04-22 01:33:51

+0

有史以來最糟糕的功能,可能是爲了鼓勵人們編寫原生android應用程序,而不是將html應用程序封裝在apks中...謝天謝地,Windows 8即將問世o_o – fabspro 2012-06-20 16:58:04