2011-10-13 19 views
7

Tengo un problema realmente molesto. Lo que ocurre es que tengo una aplicación que usa conectores nativos para enviar datos a través de TCP. Cuando abro por primera vez mi aplicación y envío datos a través de los sockets, nada se soluciona. Sin embargo, si abandono el proceso, lo reinicio y luego lo envío nuevamente, funciona. Lo mismo si abro el navegador o algo así antes de iniciar mi aplicación por primera vez después del modo de suspensión.Android: los conectores nativos no eliminan el modo de suspensión 3G en el primer intento

¿Cómo forzo a 3G a salir del modo de suspensión antes de realizar la llamada al código nativo?

EDITAR: Ya lo he intentado con PowerManager.

+0

¿Has probado esto en algún otro dispositivo? Tengo algunos problemas relacionados con el socket UDP nativo en mi HTC Desire, pero no hay problemas en varios teléfonos Samsung Galaxys, Huawei o Sony Ericsson. – Andy

+0

He intentado esto con HTC Desire y HTC EVO 3d. Ambos tienen este problema – KaiserJohaan

+0

¿Tal vez solo esperen que el primer intento falle y luego lo intenten uno o dos más tarde? O envíe un dummy HttpGetRequest a www.example.com, por ejemplo, para reactivar las capas de red antes de probar su código de red real. –

Respuesta

0

Trate de llamar startUsingNetworkFeature (int NetworkType, función String) En un ConnectivityManager y esperar a que esté disponible antes de enlazar sus tomas ect ......

Android Documentation

0

Daría la ConnectivityManager API requestRouteToHost(int networkType, int hostAddress) a prueba.

Cuestiones relacionadas