在Android浏览器中尝试打开本地HTML文件时,我遇到了一个奇怪的错误。发生的错误是“未找到活动异常”:
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.browser/com.android.browser.BrowserActivity}; have you declared this activity in your AndroidManifest.xml?
对我来说真的很奇怪的是这个错误并不在所有设备上发生。它只会在以下设备上出现:
- Samsung Galaxy Nexus I (4.1.1)
- Samsung Galaxy Nexus II (4.1.1)
- Sony Tablet S (4.0.3)
我已经在以下设备上成功测试过我的代码:
- Samsung Galaxy S I (4.1.1)
- Samsung Galaxy S III
- HTC One X
- HTC Desire S
- Samsung Galaxy S Plus (2.3.3)
- Samsung Galaxy Tab 10.1N
- AVDs with Android Versions ranging from 2.3.3 to 4.1.0
最后,这是我用来使用Android浏览器打开HTML文件的代码。我已经尝试过几种此代码的排列方式,去掉了一些行,但它们都具有相同的效果。一旦我设置组件或类就会出现上述异常。
Uri uri = Uri.parse(filePath);
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"));
browserIntent.setDataAndType(uri, "text/html");
browserIntent.addCategory(Intent.CATEGORY_BROWSABLE);
context.startActivity(browserIntent);
我也试过了
browserIntent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
而不是
browserIntent.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"));
但是效果相同...
有人知道为什么会发生这种情况吗? 我已经搜索了几天,但找不到任何解决我的问题的东西...
非常感谢您提前的帮助,谢谢!