在android中连接网络时,如何调用挂起的web服务?
我正在使用web服务,我成功地从服务器检索数据。当设备连接到网络时,一切正常 若在调用web服务时网络不可用,那个么它必须处于挂起状态。一旦网络连接,我就必须调用这些挂起的web服务 我觉得一个解决方案是使用广播接收器来了解网络状态。但是如何在那个特定的时间调用web服务呢在android中连接网络时,如何调用挂起的web服务?,android,web-services,Android,Web Services,我正在使用web服务,我成功地从服务器检索数据。当设备连接到网络时,一切正常 若在调用web服务时网络不可用,那个么它必须处于挂起状态。一旦网络连接,我就必须调用这些挂起的web服务 我觉得一个解决方案是使用广播接收器来了解网络状态。但是如何在那个特定的时间调用web服务呢 还有其他建议吗?您可以使用BroadcastReceiver启动web服务 将接收者添加到您的清单中 <receiver android:name="com.example.appname.Connectivit
还有其他建议吗?您可以使用BroadcastReceiver启动web服务 将接收者添加到您的清单中
<receiver
android:name="com.example.appname.ConnectivityBroadcastReceiver"
android:label="ConnectivityBroadcastReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
首先检查网络连接。如果已连接,则执行httpclient请求。如果未连接,请在连接时执行。下面的类将在连接时通知您
public class ConnectionChangeListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
NetworkInfo info = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
if (info != null && info.isConnected() && info.isAvailable()) {
Log.i("NetworkInfo","connected");
} else {
Log.i("NetworkInfo","not connected");
}
}
}
请评论和否决投票,这样我可以从中学习一些东西
public class ConnectionChangeListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
NetworkInfo info = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
if (info != null && info.isConnected() && info.isAvailable()) {
Log.i("NetworkInfo","connected");
} else {
Log.i("NetworkInfo","not connected");
}
}
}