Комбинация requestRouteToHost (lookupHost ()), которую вы делаете, очень рискованна
См. Ваш код:
conn_man.requestRouteToHost(ConnectivityManager.TYPE_WIFI, lookupHost("localhost")))
Здесь вы сначала выполнили поиск хоста, а затем запрашиваете маршрут к нему. Он будет хорошо работать только для статических адресов (например, localhost), где реальный поиск не выполняется. Если вам нужен поиск DNS для определения адреса хоста, он легко потерпит неудачу.
Как правило, requestRouteToHost удобен только для статических адресов.