1
当互联网重新连接回来时,有没有什么方法可以发送http post? 以下是这种情况。互联网重新连接后发送http请求到服务器
场景: 1.发送HTTP POST,例如JSON数据时没有互联网连接 2.一旦网络被连接在发布请求将自动发送到服务器。
当互联网重新连接回来时,有没有什么方法可以发送http post? 以下是这种情况。互联网重新连接后发送http请求到服务器
场景: 1.发送HTTP POST,例如JSON数据时没有互联网连接 2.一旦网络被连接在发布请求将自动发送到服务器。
1.创建自定义的广播接收机:
private BroadcastReceiver connectionListener = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
NetworkInfo networkInfo = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
if ((networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_WIFI) & (networkInfo.isConnected())){
sendBroadcastMessage(getString(R.string.FORCED_NETWORK_CONNECTION_ESTABLISHED));
Log.w(LOG, "wifi connection established");
}
else{
sendBroadcastMessage(getString(R.string.FORCED_NETWORK_CONNECTION_LOST));
Log.e(LOG, "no wifi connection");
}
}
};
2.注册广播接收器:
registerReceiver(connectionListener, new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE"));
3.从取决于你需要添加的权限是什么:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
考虑使用[Android Priority Job Queue](https://github.com/yigit/android-priority-jobqueue)。 这允许使用需要网络的参数排队作业。 – MrOnyszko
@MrOnyszko thx回复。我正在尝试,它正在工作。但是,有没有办法像AsycnTask中的onPostExecute方法?这意味着在执行成功后,我可以发送一个ToastMessage。 – user3606920
太棒了! [EventBus](https://github.com/greenrobot/EventBus)将帮助您发送入队作业的消息。 – MrOnyszko