我正在构建一个使用自定义内容提供程序来提供HTML页面的应用程序(就好像它是一个Web服务器,但是从数据源提供服务)。从一个Activity,我想使用content://方案将用户发送到一个页面,但我想使用处理可浏览URI的默认应用程序(而不仅仅是android浏览器,以适应不同的默认浏览器用户)。
根据https://stackoverflow.com/a/10532319/1524800给出的答案(我的实现基本相同),我能够显式打开默认的android浏览器,但我更喜欢使用隐式意图使用用户的默认浏览器。
这甚至可能吗?
答案 0 :(得分:2)
要做到这一点而不是这个
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..."));