gpt4 book ai didi

java - 如何正确调用延迟处理程序方法?

转载 作者:行者123 更新时间:2023-12-02 11:42:36 25 4
gpt4 key购买 nike

我正在开发一个具有内置功能的应用程序,用于连接到 Wi-Fi 接入点。用户输入要连接的接入点的密码后,将执行以下代码。我的问题是,即使我的 Android 设备成功连接到 AP,大约 2 秒后,if 语句也会运行。或者有时连接失败,但else语句运行。我究竟做错了什么?有没有更简单的方法来完成我想做的事情?

    final WifiManager wifiMgr = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);

new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if (wifiMgr.isWifiEnabled()) {
WifiInfo wifiInfo = wifiMgr.getConnectionInfo();

if (wifiInfo.getNetworkId() == -1) {
Log.v("rht", "Problems connecting. Try again.");
Toast.makeText(NetworkScanner.this, "Problems connecting. Try again.", Toast.LENGTH_LONG).show();
}
else {
Log.v("rht", "Successfully Connected.");
}
}
}
}, 4000);

最佳答案

你可以这样做..

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 200ms
}
}, 200);

此解决方案仅在 UI 线程上有用。否则在普通线程上,您需要实现 Looper,这不是最好的版本..

了解更多信息you can visit this link

关于java - 如何正确调用延迟处理程序方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48436269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com