Попытка рекурсивно вызвать функцию в течение определенного периода времени - PullRequest
0 голосов
/ 02 августа 2020

Когда я начинаю свою деятельность в Android Studio, программа пытается подключиться к указанному ниже веб-сайту с полем «grouseWeather». Когда он сталкивается с ошибкой при подключении, он выдает исключение IOException, которое перехватывается ниже. Когда исключение обнаружено, я вызываю run (); еще раз, чтобы попытаться подключиться снова. Мне интересно, есть ли способ, возможно, попробовать только соединение и рекурсивный run (); позвонить в течение 10 секунд, а затем просмотреть sh программу или отобразить сообщение, если проблемы с подключением по-прежнему возникают после 10 секунд? Так как сайт мог долгое время не работать, а программа могла долго вызываться рекурсивно. Любая помощь приветствуется, спасибо!

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_grouse);      

    new Thread() {
        public void run() {
            try {
                grouseWeather = Jsoup.connect("https://www.grousemountain.com/current_conditions#weather").get();                            

                runOnUiThread(new Runnable() {
                    public void run() {
                    // DO SOMETHING
                    }
                });

            } catch (IOException e) {
                e.printStackTrace();
                run();
            }
        }
    }.start();

}     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...