在android中刷新网络堆栈的最佳方法是什么?

时间:2012-02-23 02:21:50

标签: android networking

在我的应用程序中长时间不活动后,所有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");
}

0 个答案:

没有答案