Android开发:使用Intent在onClick内部编写for循环

时间:2011-07-17 04:04:11

标签: debugging service android-intent onclick

我试图在用户按下指定按钮后让应用程序运行5次,但它只运行一次并打印出我的调试语句(Log.v)五次。

执行此操作的正确格式是什么?

这就是我的尝试:

Button btnStart = (Button) findViewById(R.id.StartService);
btnStart.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)

{   

for (int i = 0; i < 5; i++)
{
Intent intent = new Intent(currentClass.this, different.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startService(intent);
finish();
Log.v(TAG, "testing");
}
}
});

编辑:

我试图让服务完成我的任务五次,但是在第一次之后,我得到一个java.io.IOException:无效的预览表面。当调用mMediaRecorder.prepare()时,再次调用startRecording()。

1 个答案:

答案 0 :(得分:0)

当您的for()循环运行五次时,您的服务还没有机会完成。您需要在UI和服务之间实现通信 - 让服务在完成后向您发送消息,以便您可以再次调用它(阅读服务活动通信here)。

或者,修改服务以执行任何操作五次。如果每次要运行服务时数据都是动态的,则可能需要采用第一种方法。