Android 在安卓htc手机上比较长时间的价值,我发现总是错误的

Android 在安卓htc手机上比较长时间的价值,我发现总是错误的,android,Android,下面是我的代码,它在emulator中工作得很好,但在htc中根本不起作用 void run() { long updateStart=System.currentTimeMillis(); long comapartime=(updateStart+30000); while((currentByte=stream.read())!=-1) { bytesIn++; if(S

下面是我的代码,它在emulator中工作得很好,但在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);
            }
                     }
}试试这个:

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);
            }
        }
}

为什么会被否决?对我来说似乎很贴切。和OP,什么是
\\al
?void run(){long updateStart=System.currentTimeMillis();long comapartime=(updateStart+30000);while((currentByte=stream.read())!=-1){bytesIn++;if(System.currentTimeMillis()>=comapartime)\\在HTC wildfire phone中始终在此处提供假值,但在emulator中提供真值{updateStart=System.currentTimeMillis();comapartime=(updateStart+30000);}谢谢jack的回复。我试过了,它给了我正确的当前时间。你能建议其他方法吗。我想每隔30秒检查下载的字节。我已经开始了一个活动,它有一个按钮来启动包含上述逻辑的线程。好的,对compartime做同样的操作,它在实际设备上的值是多少?再次感谢你ur reply.it根据日志只调用一次while循环(我只得到一个值),我无法使用htc设备进行调试,因为它没有连接到pc。如何将程序安装到htc上?点击调试后,您应该能够通过保持USB插入来进行调试。