在我的应用程序中长时间不活动后,所有get请求都会因连接超时错误而失败。我注意到当手机通过3G网络连接时发生这种情况,而不是当它连接到wifi时。 目前为了让它工作,我将飞机模式状态切换两次,网络连接重置。这是最好的方法吗?请指教!
void toggleAirplaneMode(){
//Toggling airplane mode to restart network
Context context = getApplicationContext();
boolean isEnabled = Settings.System.getInt(
context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0) == 1;
// toggle airplane mode
Settings.System.putInt(
context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, isEnabled ? 0 : 1);
// Post an intent to reload
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", !isEnabled);
context.sendBroadcast(intent);
Log.d("Inetify", "Toggling Airplane Mode");
}