如何使用html字符串在android中打开浏览器

时间:2017-08-21 18:13:49

标签: android android-intent

我想打开手机的浏览器来显示我的html字符串。 现在我的代码是:

Uri uri = Uri.parse(htmlString);
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setDataAndType(uri, "text/html");
browserIntent.addCategory(Intent.CATEGORY_BROWSABLE);
startActivity(browserIntent);

但它遇到了一个错误:

android.content.ActivityNotFoundException:找不到处理Intent的活动{act = android.intent.action.VIEW cat = [android.intent.category.BROWSABLE] dat = ...

其中dat是我的html字符串。

那我怎样才能正确打开浏览器?

谢谢。

1 个答案:

答案 0 :(得分:0)

Uri uri = Uri.parse(htmlString);

HTML不是Uri

  

那我怎样才能正确打开浏览器?

步骤1:将HTML写入internal storage上的文件(例如getCacheDir()

步骤2:设置FileProvider以提供您在步骤1中使用的目录中的文件

步骤3:使用FileProvider.getUriForFile()获取您在步骤1中使用的Uri的{​​{1}}

第4步:在File中使用Uri,并在致电Intent之前将FLAG_GRANT_READ_URI_PERMISSION添加到Intent