Tôi muốn chạy cụ thể trình duyệt Android mặc định cho URL đã cho. Tôi đang sử dụng mã này:Khởi chạy Mục đích Trình duyệt với Lớp Tùy chỉnh - không thể tìm thấy Hoạt động
Intent i = new Intent();
i.setAction("android.intent.action.VIEW");
i.addCategory("android.intent.category.BROWSABLE");
i.setClassName("com.google.android.browser", "com.android.browser.BrowserActivity");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setData(Uri.parse(url));
startActivity(i);
Các lỗi tôi nhận được là:
Unable to find explicit activity class {
com.google.android.browser/com.android.browser.BrowserActivity};
have you declared this activity in your AndroidManifest.xml?
Tôi cũng đã cố gắng lọc intents bởi gói:
i.setPackage("com.google.android.browser");
thay vì setClassName
, nhưng để không có sẵn:
No Activity found to handle Intent { act=android.intent.action.VIEW
cat=[android.intent.category.BROWSABLE]
dat=http://www.google.com/ flg=0x10000000 pkg=android }
Tôi cũng đã thử thêm <uses-library android:name="com.google.android.browser" />
vào tệp kê khai.
Tôi có thiếu gì đó ở đây không?
PS: Tôi không quan tâm đến việc sử dụng startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")))
vì nó sẽ liệt kê tất cả các lựa chọn cho duyệt web Intent
.
Như tôi đã nêu trong câu hỏi của mình, tôi muốn có thể chạy trình duyệt * mặc định của Android *, không phải trình duyệt * mặc định đã chọn *. Là một nút bên, trước tiên tôi đã thử với giải pháp bạn đề cập, nhưng không có kết quả như nó rõ ràng khởi chạy trình duyệt được đặt làm mặc định (hoặc khởi chạy bộ chọn ứng dụng). –
cách sử dụng mục đích này trong lớp không hoạt động? – Maxwell
Hạn chế cho việc này - đối với các tệp html cục bộ, nó khởi chạy ứng dụng HTMLViewer thay vì trình duyệt. – JustAMartin