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?
私にとって本当に奇妙なのは、このエラーがすべてのデバイスで発生するわけではないという事実です。次のデバイスでのみ表示されます。
- サムスン ギャラクシー ネクサス I (4.1.1)
- サムスン ギャラクシー ネクサス II (4.1.1)
- ソニー タブレット S (4.0.3)
次のデバイスでコードを正常にテストしました:
- サムスン ギャラクシー SI (4.1.1)
- サムスンギャラクシー S III
- HTC One X
- HTC デザイア S
- サムスン ギャラクシー S プラス (2.3.3)
- サムスン ギャラクシー タブ 10.1N
- 2.3.3 から 4.1.0 までの Android バージョンの AVD
最後に、これは HTML を開くために使用しているコードです。Android ブラウザでファイルを開きます。いくつかの行を除外して、このコードのいくつかの順列をテストしましたが、すべて同じ効果があります。コンポーネントまたはクラスを設定するとすぐに、上記の例外が発生します。
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"));
しかし、同じ効果で...
なぜこれが起こっているのか、誰かが考えていますか? これについて何日も検索しましたが、問題を解決するものは何も見つかりませんでした...
事前にどうもありがとう、乾杯