Код выглядит нормально.Я не делаю это слишком по-другому.
он выдает предупреждение о тайм-ауте запуска.
Может быть, вы запускаете это в потоке пользовательского интерфейса вместособственный поток?У вас есть ИНТЕРНЕТ-разрешение в вашем приложении?Попробуйте также добавить инструкцию для ELSE-case.