Camera camera = null;
Parameters Parameters = null;
Handler Handler = new Handler () {
@Override
public void Handlemessage (Message msg) {
TODO auto-generated Method Stub
Super.handlemessage (msg);
}
};
Main Open
public void Start () {
Handler.post (Startthread);
Handler.post (Closethread);
}
Shut down
public void Close () {
Handler.removecallbacks (Startthread);
Handler.removecallbacks (Closethread);
Flashclose ();
Camera.stoppreview ();
Camera.release ();
camera = null;
}
private void Flashopen () {//Turn on light
if (camera = = null) {
Camera = Camera.open ();
}
Parameters = Camera.getparameters ();
Parameters.setflashmode (Parameters.flash_mode_torch);
Camera.setparameters (parameters);
Camera.startpreview ();
}
private void Flashclose () {//Turn off light
if (camera = = null) {
Camera = Camera.open ();
}
Parameters = Camera.getparameters ();
Parameters.setflashmode (Parameters.flash_mode_off);
Camera.setparameters (parameters);
}
Runnable startthread = new Runnable () {
The action to be performed writes the Run method of the Thread object
public void Run () {
System.out.println ("Updatethread");
Flashopen ();
try {
Thread.Sleep (100);
Flashclose ();
} catch (Interruptedexception e) {
TODO auto-generated Catch block
E.printstacktrace ();
}
Handler.post (Startthread);
}
};
Runnable closethread = new Runnable () {
The action to be performed writes the Run method of the Thread object
public void Run () {
Flashclose ();
try {
Thread.Sleep (100);
} catch (Interruptedexception e) {
TODO auto-generated Catch block
E.printstacktrace ();
}
Handler.post (Closethread);
}
};
Android--sos Flash