androidandroid-intentandroid-activityandroid-hardware

How to make android phone flashlight blink?


I am trying to make the LED flashlight of android phone blink based on binary code like if char = 1 turn LED light on else if char = 0 turn LED off.

if ( char == '1'){ params.setFlashMode(Parameters.FLASH_MODE_ON); }              
if ( char == '0'){ params.setFlashMode(Parameters.FLASH_MODE_OFF);}

So I get the char from a String str ="101010101" the char gets the values 1, 0, 1 and so on, which is supposed to make the flashlight blink, however it blinks ones and that's it. How should I fix this problem?. Thanks


Solution

  • Try this :

    String myString = "0101010101";
    long blinkDelay = 50; //Delay in ms
    for (int i = 0; i < myString.length(); i++) {
       if (myString.charAt(i) == '0') {
          params.setFlashMode(Parameters.FLASH_MODE_ON);
       } else {
          params.setFlashMode(Parameters.FLASH_MODE_OFF);
       }
       try {
          Thread.sleep(blinkDelay);
       } catch (InterruptedException e) {
          e.printStackTrace();
       }
    }
    

    Without the "Thread.sleep()" your code is probably too fast.