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