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

1 android

如何检测是否WiFi已打开,以决定是否通过android客户端将数据传输到服务器?

在使用网络服务的android设备上,首先android设备会检查WiFi打开或关闭状态,然后在WiFi关闭状态下将数据存储在数据库或其他资源中,并且一旦打开/启用WiFi即可获取数据开始传输到服务器。

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

nKn*_*nKn 5

您可以检查是否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");
Run Code Online (Sandbox Code Playgroud)

为了使这项工作有效,请不要忘记将此行放入AndroidManifest.xml文件中:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
Run Code Online (Sandbox Code Playgroud)

如果未启用Wifi,则可以将数据存储在本地SQLite数据库中,并且一旦检测到配置更改,就可以通过net存储数据。要知道如何检测配置更改,您可以查看以下问题: