使用Android Browser打开本地html文件

时间:2011-09-03 14:41:51

标签: android browser uri

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

Uri uri = Uri.fromFile(file);
Intent browserIntent = new Intent(Intent.ACTION_VIEW).setData(uri);
startActivity(browserIntent);

但我得到以下例外:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///sdcard/SolveDroid/solution.html }

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

请告知:)

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

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:8)

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

browserIntent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");

我通过使用Uri.fromfile(file)将它与“file://”uri一起使用并且它有效(Android v.2.2.1)

答案 2 :(得分:2)

试试这个

Intent in = new Intent(Intent.ACTION_VIEW);
            File f=new File("/sdcard/html.html");
            in.setDataAndType(Uri.fromFile(f), "text/html");
            startActivity(in);