2010-05-23 16 views
12

Tôi đang sử dụng trình mô phỏng Android với AVD của Android 2.1 và tôi gặp sự cố sau: Đang cố tải URL trong WebView bằng cách sử dụng webView . loadUrl làm cho nó mở trong trình duyệt thay thế.Hướng dẫn "Hello, WebView" mở địa chỉ được yêu cầu trong trình duyệt Android chứ không phải trong chế độ xem web của tôi

Lưu ý: Tôi đang nói về việc mở ban đầu, không phải là vấn đề trong đó liên kết từ WebView mở trong trình duyệt, mặc dù, có lẽ nó được kết nối bằng cách nào đó.

Tôi đã thử một vài điều:

  • Tôi đã gỡ bỏ <uses-permission android:name="android.permission.INTERNET" /> từ manifest. Điều đó thực sự làm cho nó hoạt động chính xác, tức là tải html vào webview. Tuy nhiên, như người ta mong đợi, điều duy nhất nó tải là "không thể kết nối internet" trang lỗi.
  • Tôi đã gỡ lỗi dự án để đảm bảo và thực sự ở chức năng loadUrl, nó sẽ mở trình duyệt Android. Các CatLog vào thời điểm này là như vậy:

05-23 22: 54: 06,858: INFO/ActivityManager (51): Bắt đầu từ hoạt động: Ý định { hành động = android.intent.action.VIEW cat = [android.intent.category.BROWSABLE] dat = http://m.walla.co.il/ErrorPage.aspx?ReturnUrl=/Default.aspx CMP = com.android.browser/.BrowserActivity }

  • tôi đã thử tải một thựcDự án("Hello Android" tập tin nguồn sách, dự án - BrowserView). Tuy nhiên, nó không hoạt động giống nhau.
  • Tôi đã tạo một dự án mới và làm theo hướng dẫn tại Google official tutorial của việc sử dụng WebView và nhận được kết quả tương tự.

Tôi chưa tìm thấy ai khác phàn nàn về điều đó. Tại sao nó lại xảy ra?

Cảm ơn, Vitaly

Trả lời

25

URL mà bạn đang cố gắng đến thăm có thể có một chuyển hướng. Chuyển hướng hoạt động như nhấp chuột vào liên kết và theo mặc định sẽ mở trong Trình duyệt. Đảm bảo URL bạn đang truy cập không thực hiện chuyển hướng (ví dụ: phản hồi HTTP 301) hoặc sử dụng WebViewClientshouldOverrideUrlLoading() để xem các URL này và định tuyến lại chúng tới WebView.

+0

Ồ. Điều đó có ý nghĩa. Tôi sẽ kiểm tra. – VitalyB

+0

Có, bạn đã đúng. Cảm ơn! – VitalyB

Các vấn đề liên quan