我想打开手机的浏览器来显示我的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字符串。
那我怎样才能正确打开浏览器?
谢谢。
答案 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