gpt4 book ai didi

android - 响应 wifi 可用性

转载 作者:行者123 更新时间:2023-11-29 22:10:58 28 4
gpt4 key购买 nike

我究竟应该如何配置我的广播接收器以使我的应用程序响应 wifi 可用性的变化。不过,当应用程序未运行时,我并不真正关心对此使用react。

我在这里试图完成的是,当应用程序运行时,我需要使本地数据库与服务器上的副本保持同步。如果出于某种原因我失去了连接,我需要知道什么时候尝试重新连接是有意义的。

最佳答案

因为当应用程序未运行时您不关心它我建议您在代码中注册您的接收器,而不是将其放在 list 中...

IntentFilter filter = new IntentFilter( WifiManager.WIFI_STATE_CHANGED_ACTION );
context.registerReceiver( wifiStateRec, filter);
WifiManager wifim = (WifiManager) context.getSystemService( Context.WIFI_SERVICE );
state = wifim.getWifiState(); // get initial state

然后在完成后调用 unregisterReceiver()。

您的接收器可能如下所示:

protected BroadcastReceiver wifiStateRec = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
assertTrue( WifiManager.WIFI_STATE_CHANGED_ACTION.equalsIgnoreCase( intent.getAction() ) );

state = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE,-1);
String msg;
switch(state) {
case WifiManager.WIFI_STATE_DISABLED:
msg = "it is disabled";
break;
case WifiManager.WIFI_STATE_ENABLED:
msg = "it is enabled";
break;
case WifiManager.WIFI_STATE_DISABLING:
msg = "it is switching off";
break;
case WifiManager.WIFI_STATE_ENABLING:
msg="wifi is getting enabled";
break;
default:
msg="not working properly";
break;
}
Log.i(CTAG, "Wifi state = " + msg );
}
};

这个函数中的一些代码最初来自这个question .

关于android - 响应 wifi 可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9655169/

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