我正在尝试使用默认浏览器使用以下代码打开本地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");
答案 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);