我对开发场景有点新意,我正处于Android项目的中间。 我正在尝试使用手机相机闪光灯。我试图让它以重复动作开启和关闭。下面是我的.java文件中的剪辑。
public void clickGo(View view) {
Bundle newtempo = getIntent().getExtras();
int tempo = newtempo.getInt("tempoData");
int scaledTempo = 60000/tempo;
while (true) {
long futureTime1a = System.currentTimeMillis() + (100);
long futureTime1b = System.currentTimeMillis() + (scaledTempo - 100);
while (System.currentTimeMillis() < futureTime1a) {
setFlashlightOn();
}
while (System.currentTimeMillis() < futureTime1b) {
setFlashlightOff();
}
}
让我解释一下发生了什么...... 所以我从另一个活动中获取了数据,然后将其缩放到一个milleseconds值。 我已经把算法的其余部分放在一个while(true)循环中,直到我能让它正常工作。我设置了两次,一次是100毫秒,另一次是缩放的millesecond值,减去100毫秒。 然后我应用这两个时间来打开闪光灯然后关闭。
从理论上讲,这应该有效。我有从另一个活动输入的数据,它将数字缩放为毫秒,如图所示。这个概念确实有效,因为较低的数字和较高的数字会使我的手机上的闪光灯变得更慢更快。但是,精确度是我的问题。当我在应用程序的同一时间点击节拍时,可以很容易地判断出某些闪光速度较慢,或持续时间较长。等等。我想知道这可能是什么?我已将大部分代码删除为完全裸露的脚本(因为我认为这可能是一个处理问题)。这也可能是我实施时间功能的方式 - 如果其他人有更高效的方式,我很乐意听到它!
正如我在开始时所说的那样,我对开发场景相对较新,所以如果你能回答这个问题我会很感激:)
非常感谢!