使用Android Browser打开本地html文件

lev*_*rov 12 browser android uri

我正在尝试使用以下代码使用默认浏览器打开本地html文件:

Uri uri = Uri.fromFile(file);
Intent browserIntent = new Intent(Intent.ACTION_VIEW).setData(uri);
startActivity(browserIntent);
Run Code Online (Sandbox Code Playgroud)

但我得到以下例外:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///sdcard/SolveDroid/solution.html }
Run Code Online (Sandbox Code Playgroud)

我很困惑 - 我应该创建一个活动来管理网络beowser吗?是不是应该只是称它的活动?

请指教 :)

更新: 如果我传递这样的URL,相同的代码工作: Uri uri = Uri.parse("http://www.metalist.co.il");

Mud*_*sar 9

    Uri uri = Uri.fromFile(file);
    Intent browserIntent = new Intent(Intent.ACTION_VIEW);
    browserIntent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
    browserIntent.setData(uri);
    startActivity(browserIntent);
Run Code Online (Sandbox Code Playgroud)


lev*_*rov 8

我找到了这个问题的答案......只需要添加

browserIntent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
Run Code Online (Sandbox Code Playgroud)

我使用它与"file://"uri使用Uri.fromfile(file)它并且它有效(Android v.2.2.1)