在android中连接网络时,如何调用挂起的web服务?

在android中连接网络时,如何调用挂起的web服务?,android,web-services,Android,Web Services,我正在使用web服务,我成功地从服务器检索数据。当设备连接到网络时,一切正常 若在调用web服务时网络不可用,那个么它必须处于挂起状态。一旦网络连接,我就必须调用这些挂起的web服务 我觉得一个解决方案是使用广播接收器来了解网络状态。但是如何在那个特定的时间调用web服务呢 还有其他建议吗?您可以使用BroadcastReceiver启动web服务 将接收者添加到您的清单中 <receiver android:name="com.example.appname.Connectivit

我正在使用web服务,我成功地从服务器检索数据。当设备连接到网络时,一切正常

若在调用web服务时网络不可用,那个么它必须处于挂起状态。一旦网络连接,我就必须调用这些挂起的web服务

我觉得一个解决方案是使用广播接收器来了解网络状态。但是如何在那个特定的时间调用web服务呢


还有其他建议吗?

您可以使用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");

        }
    }
}