Java Android中处理器的循环

Java Android中处理器的循环,java,android,Java,Android,我试图在1分钟后呼叫一个特定的服务,但它处于循环中? 因此,我尝试了以下方法: for (int i = 0; i < temp; i++) { new Handler().postDelayed(new Runnable() { @Override public void run() { Log.e("value", "coming up"); openTransaction();

我试图在1分钟后呼叫一个特定的服务,但它处于循环中? 因此,我尝试了以下方法:

for (int i = 0; i < temp; i++)
{
  new Handler().postDelayed(new Runnable()
    {
        @Override
        public void run()
        {
            Log.e("value", "coming up");
            openTransaction();
        }
   }, startTransaction);
}
for(int i=0;i
int temp有4个日志,奇怪的是,我可以立即看到4个日志,而不是每1分钟记录一次。。有人能帮我在循环1分钟后打开所需的方法吗

我不确定我错在哪里


谢谢

试试这个,希望对你有所帮助

Thread mThread = new Thread() {
        @Override
        public void run() {
            try {
                for (int i = 0; i < temp; i++) {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            // code to call your service
                            openTransaction();
                        }
                    });
                    sleep(60000); // one minute
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            super.run();
        }
    };
    mThread.start();
Thread mThread=new Thread(){
@凌驾
公开募捐{
试一试{
对于(int i=0;i
startTransaction的值是多少?@Blackbelt,startTransaction应该是毫秒时间,但不是在question中指定的。在这种情况下,您必须使用Thread()和sleep()方法,而不是处理程序。@Blackbelt:我认为问题不在于
startTransaction
。该行为是由于
for循环
,它在
队列
中添加
temp
消息,同时
startTransaction
startTransaction以60000毫秒为单位