나는 Help이라는 액티비티를 포함하는 Android 앱이 있습니다. WebView를 사용하여 HTML 형식으로 도움말 콘텐츠를 표시합니다. Thie 활동은 두 가지 방법으로 호출 할 수 있습니다. 하나는 URL을 전달하거나 직접 텍스트 콘텐츠를 전달하는 것입니다. 필자가 전달한 유일한 URL은 "file : ///android_asset/help/index.html"(APK의 내 자산에 포함 된 HTML 페이지)입니다.Android 4.0 WebView.loadURL oddity
URL을 전달하면 Android 2.2를 실행하는 HTC Desire에서 정상적으로 작동합니다. Android 3.0을 실행하는 에뮬레이터에서도 작동하는 것으로 보입니다. 그러나 안드로이드 4.0과 에뮬레이터에서 그것을 시도 할 때 빈 페이지를 표시하는 대신 웹 브라우저를 시작하려고 시도하는 것 같습니다; 이 질문을 닫으면 도움말 활동으로 돌아와 빈 페이지가 나타납니다.
직접 텍스트 콘텐츠를 전달하면 시도한 모든 버전에서 정상적으로 작동합니다. WebView 설명서에 따르면 "활동이 인터넷에 액세스하고 WebView에서 웹 페이지를로드하려면 Android 매니페스트 파일에 인터넷 권한을 추가해야합니다."하지만 인터넷에 액세스 할 필요가 없습니다. 내 앱 내부 도움말 페이지를 표시하기 만하면됩니다. 그리고 이것은 4.0 이전의 안드로이드 버전에서 작동했습니다.
Android 4의 버그입니까? 아니면 내가 오해 한 것일까 요? 어떤 도움을 주셔서 감사합니다.
당신이 인터넷 권한이 때 작동하는 경우에 당신이 시도 했습니까? – Ilkka
인터넷 권한없이 앱을 이미 게시 했으므로 추가하지 않으려합니다. 앱에 자유롭게 권한을 추가하는 것을 피하는 것이 좋습니다. 안타깝게도 모든 것을 "맹목적으로"클릭하지 않고 Android 사용자에게 앱이 필요로하는 권한에 대해 의심스럽게 가르치고 싶습니다. –
물론, 나는 그것이 효과를 냈는지 아닌지에 관심이있었습니다. – Ilkka