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