我试图在用户按下指定按钮后让应用程序运行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()。
答案 0 :(得分:0)
当您的for()
循环运行五次时,您的服务还没有机会完成。您需要在UI和服务之间实现通信 - 让服务在完成后向您发送消息,以便您可以再次调用它(阅读服务活动通信here)。
或者,修改服务以执行任何操作五次。如果每次要运行服务时数据都是动态的,则可能需要采用第一种方法。