Android: los sockets nativos no eliminan el modo de suspensión 3G en el primer intento

Tengo un problema muy molesto. Lo que sucede es que tengo una aplicación que está utilizando sockets nativos para enviar datos a través de TCP. Cuando primero lanzo mi aplicación y envío datos a través de los sockets, nada pasa. Sin embargo, si luego dejo el proceso y reiniciarlo y luego enviar de nuevo, funciona. Lo mismo si abro el navegador o algo antes de iniciar mi aplicación por primera vez después del modo de suspensión.

¿Cómo puedo "forzar" 3G a salir del modo de suspensión antes de hacer la llamada al código nativo?

EDIT: Ya lo he intentado con PowerManager.

Intente llamar a startUsingNetworkFeature (int networkType, String) En un ConnectivityManager y espere a que esté disponible antes de enlazar sus sockets ect ……

Documentación de Android

Me gustaría dar la requestRouteToHost(int networkType, int hostAddress) ConnectivityManager API requestRouteToHost(int networkType, int hostAddress) una prueba.

  • Cómo crear conexión Socket en Android?
  • ¿Cuál es la diferencia entre DataOutputStream y ObjectOutputStream?
  • Sockets sin procesar en Android
  • Enviar texto a través de Bluetooth desde Java Server a Android Client
  • Socket android DataOutputStream.writeUTF
  • Conector de Bluetooth
  • Problema con el archivo de envío de Bluetooth de Android
  • Tiempo y cancelación de socket
  • Carga de datos desde la aplicación de Android al programa de escritorio
  • Cómo importar el formato android.os.bundle en proyectos normales de java?
  • Android: Conexión entre el servidor y el cliente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.