首先,我是一个初学Android的世界,所以请道歉,如果这是愚蠢的问题..
我正在尝试做以下事情:
启用移动数据
等待10秒
一个。检查Mobile是否有IP地址(数据连接成功)
湾如果未连接,则禁用数据
C。转到第1步
这些步骤1到3在For循环中执行用户给定的重试次数。
现在我的问题是:我卡在第2步。
我无法使waitfor(int seconds)功能。我尝试使用Runnable PostDelayed方法,但它没有给我需要的输出。
for(retry = UserChoice; retry > 0 && !isDataAvailable ; retry -- ){
enableInternet()
delay(10)
isDataAvailable = GetInternetAvailibility()
if(!isDataAvailable){
disableInternet()
}
}我尝试将isDataAvailable = GetInternetAvailibility()语句放在处理程序的postDelayed中,但它会导致enableInternet() disableInternet()同时执行,同时isDataAvailable = GetInternetAvailibility()在延迟后执行。
我可以从日志中看到,enableInternet()执行UserChoice次没有任何延迟。
Thread.sleep(10000)只会冻结用户界面10秒钟......我如何实现这一目标?