如何在Android上打开默认浏览器而无需指定URL?

4

我对这个问题感到非常困扰。我想要打开用户的默认网络浏览器。我可以使用下面的代码:

startActivity( new Intent( Intent.ACTION_VIEW, Uri.parse("http://google.com")));

打开浏览器并将用户发送到URL。但我不想将他送到特定的URL,我只是想打开浏览器。我相信这是一个简单的解决方案,只是我找不到它。有什么想法吗?
2个回答

4
为了仅打开浏览器而不打开任何网址,您可以使用以下代码:

只需使用以下代码即可

startActivity( new Intent( Intent.ACTION_VIEW, Uri.parse("about:blank")));

是的,那很好,但问题在于...例如,在像海豚这样的浏览器中,它会打开一个空白页面。我希望它能打开默认的SpeedDial页面。 - Taranasus
啊,好的,我明白了 - 你应该把这个加到你的问题里,这样会更清晰。 - DonGru

3

经过一番搜索,我终于做到了这个:

PackageManager pm = getPackageManager();
Intent queryIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
ActivityInfo af = queryIntent.resolveActivityInfo(pm, 0);
Intent launchIntent = new Intent(Intent.ACTION_MAIN);
launchIntent.setClassName(af.packageName, af.name);
startActivity(launchIntent);

基本上这句话的意思是“哪个应用程序可以处理这个?”,然后获取该应用程序的包和类名,然后触发主要操作的意图。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接