WifiManager setWifiEnabled(),禁用Wi-Fi后继续吗?

问题描述 投票:0回答:1

我想使用手机数据下载文件。似乎在下载文件时没有API指定网络连接,因此我尝试在下载前禁用Wi-Fi。

似乎我可以使用setWifiEnabled方法,但是文档中没有提到它是否被阻塞。我以为不是。然后,我必须等到Wi-Fi禁用后才能继续下一行。

val wifiManager = this.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
wifiManager.isWifiEnabled = false
(how to wait here until the system finishes disabling Wi-Fi?)
downloadFile()

最简单的方法是什么?

android android-networking
1个回答
0
投票

您可以注册BroadcastReceiver,以便在WiFi连接中断或使用以下命令时收到通知:

private boolean isConnectedViaWifi() {
 ConnectivityManager connectivityManager = (ConnectivityManager) appObj.getSystemService(Context.CONNECTIVITY_SERVICE);
 NetworkInfo mWifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);     
 return mWifi.isConnected();

}

with:

new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
    if(isConnectedViaWifi()) //download
}

},0,1000);

© www.soinside.com 2019 - 2024. All rights reserved.