TabHost для запуска внешнего браузера при нажатии - PullRequest
1 голос
/ 11 февраля 2012

У меня есть несколько вкладок в моем приложении, и я хочу, чтобы последняя вкладка запускала Google в браузере системы по умолчанию. Я думал, что это будет работать:

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

Но это приводит к ошибке принудительного закрытия. Любые советы, как заставить это работать?

EDIT Я решил это. По сути, я добавляю обработчик события onClick для захвата при первом нажатии на вкладку (только для рассматриваемой этой вкладки), а затем изнутри я предотвращаю действие по умолчанию, возвращая значение true (для обработки) после запуска нового намерения в обычном режиме.

1 Ответ

0 голосов
/ 11 февраля 2012

Вы можете запустить операцию с хоста вкладок (который вы упомянули как последний хост вкладок). Затем из этого действия вы можете запустить внешний браузер. Поскольку я думаю, что невозможно запустить действие по умолчанию из TabHost.

Отредактировано

Я проверил это. Дает ActivityNotFound Exception. Заключение состоит в том, что TabHost ищет действие, зарегистрированное в манифесте Android. Если вы хотите его достичь, то воспользуйтесь моим первым предложением

...