comparar el valor de tiempo prolongado en Android me da siempre falso en el teléfono Android HTC

a continuación está mi código que funciona perfectamente en el emulador pero no funciona en absoluto en htc

   void run()
{
 long updateStart=System.currentTimeMillis();
 long comapartime=(updateStart+30000);
        while((currentByte=stream.read())!=-1)
        {    
            bytesIn++;          

            if(System.currentTimeMillis()>=comapartime) \\always gives false in device but gives true in emulator
            {
                                    updateStart=System.currentTimeMillis();
                comapartime=(updateStart+30000);
            }
                     }

}

preguntado el 28 de agosto de 11 a las 04:08

¿Por qué se votó en contra? Me parece perfectamente pertinente. Y OP, que es \\al? -

void run () {updateStart largo = System.currentTimeMillis (); comapartime largo = (updateStart + 30000); while ((currentByte = stream.read ())! = - 1) {bytesIn ++; if (System.currentTimeMillis ()> = comapartime) \\ siempre da aquí un valor falso en el teléfono HTC wildfire pero en el emulador da verdadero {updateStart = System.currentTimeMillis (); comapartime = (updateStart + 30000); }} -

1 Respuestas

Prueba esto:

void run()
{
 long updateStart=System.currentTimeMillis();
 long comapartime=(updateStart+30000);
        while((currentByte=stream.read())!=-1)
        {    
            bytesIn++;          
            long tmp = System.currentTimeMillis(); // set a break point here, is it returning 0 on device?
            if(tmp>=comapartime) \\always gives false in device but gives true in emulator
            {
                                    updateStart=System.currentTimeMillis();
                comapartime=(updateStart+30000);
            }
        }
}

Respondido 28 ago 11, 09:08

Gracias Jack por la respuesta. Intenté esto, me da la hora actual adecuada. ¿Podría sugerir alguna otra forma? Quiero verificar los bytes descargados en cada intervalo de 30 segundos. He comenzado una actividad que tiene un botón para iniciar el hilo que contiene por encima de la lógica. - user853341

Ok, haz lo mismo para el compartime, ¿cuál es su valor en el dispositivo real? - Jack

gracias de nuevo por su respuesta. Llama al ciclo while solo una vez según el registro (obtuve el valor solo uno) y no pude depurar usando el dispositivo htc ya que no está conectado a la PC. - user853341

¿Cómo se introduce el programa en el HTC? Debería poder depurar dejando el USB conectado después de presionar depurar. - Jack

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.