1
インターネットに再接続するときにhttp投稿を送信する方法はありますか? 以下はシナリオです。インターネットに再接続した後にサーバーにhttp投稿要求を送信する
シナリオ: 1.インターネットに接続 2がない場合、インターネットが接続されると、ポストの要求が自動的にサーバーに送信されます例えば、JSONデータをHTTPポストを送信します。
インターネットに再接続するときにhttp投稿を送信する方法はありますか? 以下はシナリオです。インターネットに再接続した後にサーバーにhttp投稿要求を送信する
シナリオ: 1.インターネットに接続 2がない場合、インターネットが接続されると、ポストの要求が自動的にサーバーに送信されます例えば、JSONデータをHTTPポストを送信します。
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優先ジョブキュー](https://github.com/yigit/android-priority-jobqueue)の使用を検討してください。 これにより、ネットワークを必要とするパラメータでジョブをエンキューできます。 – MrOnyszko
@MrOnyszko thxさんの返信です。私はそれを試している、それは働いている。しかし、AsycnTaskのonPostExecuteメソッドのようなことをやっていることはありますか?実行成功後にToastMessageを送信できることを意味します。 – user3606920
素晴らしい! [EventBus](https://github.com/greenrobot/EventBus)は、エンキューされたジョブからメッセージを送信するのに役立ちます。 – MrOnyszko