gpt4 book ai didi

java - 有没有办法让这个脉冲数无限大?

转载 作者:行者123 更新时间:2023-12-01 15:23:46 24 4
gpt4 key购买 nike

我在我的应用程序上创建了一个按钮来触发脉冲 LED 操作,但我无法让它永远脉冲。它总是按值脉冲(在上面的示例中,您将看到它脉冲 10 次,然后停止)

//Button Pulse
Button bpulse = (Button) findViewById(R.id.bpulse);
bpulse.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
Intent led = new Intent(IlluminationIntent.ACTION_START_LED_PULSE);

led.putExtra(IlluminationIntent.EXTRA_PACKAGE_NAME, "com.devsgonemad.xslc");

led.putExtra(IlluminationIntent.EXTRA_LED_ID,
IlluminationIntent.VALUE_BUTTON_2);

led.putExtra(IlluminationIntent.EXTRA_LED_NO_OF_PULSES, 10);

led.putExtra(IlluminationIntent.EXTRA_LED_PULSE_ON_TIME, 1000);

led.putExtra(IlluminationIntent.EXTRA_LED_PULSE_OFF_TIME, 1000);

led.putExtra(IlluminationIntent.EXTRA_LED_COLOR, m_ledColor);

startService(led);

m_isEnabled = true;
}

当按下按钮时,如何才能永远发出该脉冲,直到用户返回应用程序并停止其脉冲?

致以诚挚的问候

最佳答案

使用 while 循环怎么样?您可以将脉冲数设置为 1,并让它在 while 循环中连续运行,直到满足某些条件(在您的情况下按下某个按钮)。

while(buttonNotPressed){
led.putExtra(IlluminationIntent.EXTRA_LED_NO_OF_PULSES, 1);
startService(led);
}

当然,这有一个明显的陷阱,您可能会启动许多并行服务,所有服务都试图让 LED 闪烁一次。但我想您可以控制 while 循环以等待服务结束,然后再开始下一次迭代。
编辑:为了让 while 循环等待您的服务,您需要在服务中添加某种标志,让 while 循环可以等待。一旦服务完成,就可以设置标志,并且 while 循环可以移至下一次迭代,从而为您提供无限轮的闪烁,直到按下按钮。

关于java - 有没有办法让这个脉冲数无限大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10484201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com