1
인터넷이 다시 연결될 때 http 포스트를 보낼 수있는 방법이 있습니까? 다음은 시나리오입니다.인터넷에 다시 연결 한 후 서버에 http 포스트 요청을 보냅니다.
시나리오 : 인터넷이 연결되면 POST 요청이 자동으로 서버에 전송합니다 인터넷에 연결되어 있지 않음 2.이없는 경우 1. 예를 들어, JSON 데이터를 HTTP에 게시물을 보냅니다.
인터넷이 다시 연결될 때 http 포스트를 보낼 수있는 방법이 있습니까? 다음은 시나리오입니다.인터넷에 다시 연결 한 후 서버에 http 포스트 요청을 보냅니다.
시나리오 : 인터넷이 연결되면 POST 요청이 자동으로 서버에 전송합니다 인터넷에 연결되어 있지 않음 2.이없는 경우 1. 예를 들어, 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