当我尝试在 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?
对我来说真正奇怪的是,并非所有设备都发生此错误。它仅出现在以下设备上:
- 三星 Galaxy Nexus I (4.1.1)
- 三星 Galaxy Nexus II (4.1.1)
- 索尼平板电脑 S (4.0.3)
我已在以下设备上成功测试了我的代码:
- 三星 Galaxy SI (4.1.1)
- 三星盖乐世 S III
- 宏达一 X
- HTC 欲望 S
- 三星 Galaxy S Plus (2.3.3)
- 三星 Galaxy Tab 10.1N
- Android 版本从 2.3.3 到 4.1.0 的 AVD
最后,这是我用来用 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"));
但同样的效果...
有人知道为什么会这样,我错过了什么吗?我已经为此搜索了几天,但找不到任何解决我问题的方法......
提前非常感谢,干杯