gpt4 book ai didi

Android:尝试在浏览器中打开本地 HTML 文件时,在某些设备上找不到 Activity 异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:19:25 26 4
gpt4 key购买 nike

当我尝试在 Android 浏览器中打开本地 HTML 文件时,我遇到了一个奇怪的错误。出现的错误是找不到 Activity 异常:

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 S I (4.1.1)
  • 三星盖乐世 SIII
  • HTC One 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"));

但是效果一样...

有人知道为什么会这样吗,我是不是漏掉了什么?我已经为此搜索了好几天,但找不到任何解决我问题的方法...

非常感谢,干杯

最佳答案

可能 因为这些设备中可能没有像 com.android.browser.BrowserActivity 这样的任何 Activity ,它取决于设备制造商他们如何实现 native 浏览器应用程序( Activity 名称和包名称)。

所以可能的解决方案是,

使用 PackageMangerIntent 您可以检查特定的 Intent 类别,例如 Intent.CATEGORY_BROWSABLE 可用于任何应用程序(如果可用)然后设置它应用到 ComponentName。

或者,您不指定组件名称,例如,

browserIntent.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"));

让用户必须选择哪个 Activity 将打开此页面,

所以只是代码,

Uri uri = Uri.parse(filePath);
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setDataAndType(uri, "text/html");
browserIntent.addCategory(Intent.CATEGORY_BROWSABLE);
context.startActivity(browserIntent);

关于Android:尝试在浏览器中打开本地 HTML 文件时,在某些设备上找不到 Activity 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11755573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com