java - TabHost 单击时启动外部浏览器

标签 java android android-intent android-tabhost android-activity

我的应用程序中有一些选项卡,我希望最后一个选项卡在默认系统浏览器中启动谷歌。我认为这会起作用:

Uri uri = Uri.parse("http://www.google.com/");
tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("Google", res.getDrawable(R.drawable.google)).setContent(new Intent(Intent.ACTION_VIEW, uri)));

但这会导致强制关闭错误。有什么建议可以让它发挥作用吗?

编辑 我解决了这个问题。基本上我所做的是添加一个 onClick 事件处理程序来捕获何时单击该选项卡(仅此选项卡),然后在启动新 Intent 后通过返回 true(用于处理)来阻止默认操作以常规方式。

最佳答案

您可以从选项卡主机启动一个 Activity (您在最后一个选项卡主机中提到过)。然后从该 Activity 您可以启动外部浏览器。因为我认为不可能从选项卡主机启动默认 Activity 。

已编辑

我已经检查过了。它给出了 ActivityNotFound 异常。结论是 TabHost 会查找 Android list 中注册的 Activity 。如果您想实现它,请按照我的第一个建议

关于java - TabHost 单击时启动外部浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9237563/

相关文章:

java - Android Studio-未找到JVM安装

java - 通过蓝牙将数据从Arduino发送到Java程序

php - 从服务器设置图像后如何刷新 ImageView 在我的情况下,它不更新 ImageView

android - StartActivity调用需要权限问题

android - 如何让 android sdk 联系人选择器只给我电话结果而不是我所有的推特粉丝

android - 适用于 Intent 的所有附加功能的列表

java - 如何比较 vertx.buffer 和 java.io.String

java - 像包装器一样使用 Facade

Android:电子邮件 'to ' 字段为空

android - 启动新 Activity 的日历日期选择