我正在构建一个使用自定义内容提供程序来提供HTML页面的应用程序(就像它是Web服务器一样,但是是从数据源提供的)。从活动中,我想使用content://方案将用户发送到页面,但是我想使用处理可浏览URI的默认应用程序(而不是仅使用android浏览器,以便通过以下方式容纳其他默认浏览器)用户)。

根据https://stackoverflow.com/a/10532319/1524800给出的答案(我的实现基本上是相同的),我能够显式打开默认的android浏览器,但是我更愿意使用具有隐式意图的用户默认浏览器。

这有可能吗?

最佳答案

为此,而不是这样做

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);


尝试这个

final Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setDataAndType(Uri.fromFile(file), "text/html");
startActivity(Intent.createChooser(browserIntent, "Open with..."));

09-12 22:13