java - 如何等待 10 秒而不锁定 android 中的应用程序 UI

标签 java android wait

我遇到了一个问题,我想等待 10 秒,因为我希望我的应用程序在 10 秒后启动下面的代码,但不阻止那个人点击应用程序中的任何其他内容(没有 调用 Thread.sleep();).

try {
    Log.v("msg", "WAIT CheckFrequencyRun");
    Thread.sleep(10000); // giving time to connect to wifi
    
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   //if no network
   if(wifiManager.getConnectionInfo().getNetworkId()==-1){
    //stop wifi
    wifiManager.setWifiEnabled(false);
    Log.v("msg", "no connection");
    handler.postDelayed(this, checkInterval);
   }
   //else connection
   else{
    Log.v("msg", "connection");
    onDestroy();
   }

最佳答案

你可以用这个:

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    public void run() {
     // Actions to do after 10 seconds
    }
}, 10000);

对于停止处理程序,您可以尝试以下操作: handler.removeCallbacksAndMessages(null);

关于java - 如何等待 10 秒而不锁定 android 中的应用程序 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17237287/

相关文章:

java - 如何从 Java 控制台应用程序通过分页执行 "less"?

java - 如何从静态上下文引用非静态方法

android - 如何在 Android 中以编程方式加载布局 XML 文件?

Java:wait()和notify()混淆

c++ - 进程创建中的 Wait()

c - 是否有设置超时的 wait() 系统调用版本?

java - 我如何强制 GridLayout 始终有 7 列

java - Web 服务(基于 SOAP/Restful)

android - Glide 4.3.1 覆盖和占位符功能不起作用

java - 如何从安卓连接共享点?