我需要制作Android应用程序,它应该每天晚上将一些数据发送到我的服务器。如果没有Wi-Fi连接,应用程序应在连接自动变为可用时发送数据。为什么我可以获得有关Wi-Fi可用性的活动?我应该使用广播接收器吗?请给我一个例子或想法。谢谢
答案 0 :(得分:1)
在AndroidManifest.xml BroadcastReceiver
中注册,检查wifi状态,如:
<receiver
android:name=".receivers.WifiStatusReceiver"
android:label="NetworkChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
然后实现您自己的BroadcastReceiver
,它将在wi-fi可用时处理事件,以便您可以开始上传/下载
答案 1 :(得分:0)
Android完全支持WiFi连接。主要组件是系统提供的WiFiManager。像往常一样,我们通过getSystemServices()
调用当前上下文来获取它。
一旦我们拥有WiFiManager,我们可以以WiFiInfo对象的形式询问它当前的WIFi连接。我们还可以通过getConfiguredNetworks()
询问所有当前可用的网络。这为我们提供了WifiConfiguration列表。
// Setup WiFi
wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
// Get WiFi status
WifiInfo info = wifi.getConnectionInfo();
// info.toString()
// List available networks
List<WifiConfiguration> configs = wifi.getConfiguredNetworks();
for (WifiConfiguration config : configs) {
// config.toString()
}