如何仅在wifi上向android中的服务器发送数据

时间:2014-04-07 14:04:53

标签: android

我如何检测是否已启用WiFi以决定是否通过Android客户端将数据传输到服务器?

在使用Web服务的Android设备上,首先android设备检查WiFi是打开还是关闭,当WiFi关闭时,数据应该存储在数据库或其他资源中,并且一旦WiFi打开/或变为可用数据,就应该开始将数据传输到服务器。

应该用什么来实现这个目标?

1 个答案:

答案 0 :(得分:4)

您可以检查WiFi是否已开启。只需包含这样的代码:

ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if (ni.isConnected())
  Log.d("WifiOn", "Wifi is connected");
else
  Log.d("WifiOn", "Wifi is not connected");

为了完成这项工作,请不要忘记将此行放在AndroidManifest.xml文件中:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

如果您未启用Wifi,则可以将数据存储在本地SQLite数据库中,并在检测到配置更改后立即通过网络存储数据。要了解如何检测配置更改,您可以查看以下问题: