繁体   English   中英

尝试递归调用一个function一段时间

[英]Attempt to recursively call a function for a period of time

当我在 Android Studio 中开始我的活动时,程序会尝试使用“grouseWeather”字段连接到下面的网站。 当它在连接时遇到错误,它会抛出一个 IOException,它被捕获在下面。 当异常被捕获时,我调用 run(); 再次尝试再次连接。 我想知道是否有办法只尝试连接和递归 run(); 呼叫 10 秒,然后如果 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();

}     

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM