플래시를 켰다가 껏다가 하는 코드입니다.
while 반복문을 통해 작업하고 있고요
함수는 밖에서 선언하고 Thread도 적용시켰습니다
public class MainActivity extends AppCompatActivity {
boolean STATUS;
void StartFlashLoop() {
new Thread(new Runnable() {
@Override
public void run() {
while (STATUS) {
CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
String cameraId = cameraManager.getCameraIdList()[0];
cameraManager.setTorchMode(cameraId, true);
try {
Thread.sleep(30);
} catch (InterruptedException e) {
}
cameraManager.setTorchMode(cameraId, false);
try {
Thread.sleep(30);
} catch (InterruptedException e) {
}
} catch (CameraAccessException e) {
}
}
}
}).run();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
////////////////////////////////플래시 키는거//////////////////////////
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View view) {
STATUS = true;
StartFlashLoop();
}
};
android.widget.Button bntflashon = (android.widget.Button) findViewById(R.id.flash_on);
bntflashon.setOnClickListener(listener);
/////////////////////////////////플래시 끄는거/////////////////////////////
View.OnClickListener listener1 = new View.OnClickListener() {
@Override
public void onClick(View view) {
STATUS = false;
}
};
android.widget.Button bntflashoff = (android.widget.Button) findViewById(R.id.flashoff);
bntflashoff.setOnClickListener(listener1);
}
플래시On 버튼이 돌아가는 도중 플래시off 버튼을 클릭할수 있는 방법이 없을까요?