我正在开发一个必须在浏览器中打开本地文件的应用。在低于4.3的Android版本中,它可以很好地工作,但在等于或高于4.3的版本中,应用程序总是会崩溃。我认为问题在于Intent.ACTION_VIEW,但我不确定。
我写的代码如下所示。
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
browserIntent.setType("text/html");
browserIntent.setData(uri);
startActivity(browserIntent);
所以问题是:如何在Android版本等于或高于4.3的应用程序中打开浏览器中的本地文件。
答案 0 :(得分:1)
删除setClassName()
。您不应该假设设备上安装了哪些浏览器应用程序。重要的是,您要求某个用户选择的应用程序为您处理具有指定数据类型的URI。
要具有额外的弹性,请抓住ActivityNotFoundException
,以防无法处理意图的活动(例如,由于受限的用户个人资料)。