Permission:
<Uses-permissionandroid: Name = "android. Permission. Flashlight"/>
<Uses-permissionandroid: Name = "android. Permission. wake_lock"/>
<Uses-Permission Android: Name = "android. Permission. Camera"/>
<Uses-featureandroid: Name = "android. Hardware. Camera"/>
Layout
<? XML version = "1.0" encoding = "UTF-8"?>
<Linearlayoutxmlns: Android = "http://schemas.android.com/apk/res/android"
Android: layout_width = "fill_parent"
Android: layout_height = "fill_parent"
Android: gravity = "center"
Android: Orientation = "vertical">
<Togglebutton
Android: Id = "@ + ID/togglebutton1"
Android: layout_width = "match_parent"
Android: layout_height = "match_parent"
Android: checked = "true"
Android: text = "togglebutton"/>
</Linearlayout>
Source code
Package CN. Lee. handlight;
Import Android. App. activity;
Import Android. Hardware. camera;
Import Android. Hardware. Camera. parameters;
Import Android. OS. Bundle;
Import Android. OS. process;
Import Android. View. view;
Import Android. View. View. onclicklistener;
Import Android. View. windowmanager;
Import Android. widget. togglebutton;
Public class handlightactivity extends activityimplements onclicklistener {
Privatetogglebutton togglebutton;
Privatecamera camera = camera. open ();
/** Called when the activity is first created .*/
@ Override
Publicvoid oncreate (bundle savedinstancestate ){
Super. oncreate (savedinstancestate );
Setcontentview (R. layout. Main );
Togglebutton = (togglebutton) This. findviewbyid (R. Id. togglebutton1 );
Togglebutton. setonclicklistener (this );
Getwindow (). addflags (windowmanager. layoutparams. flag_keep_screen_on );
// Keep the screen
}
@ Override
Publicvoid onclick (view v ){
Togglebuttontb = (togglebutton) V;
Camera. parametersparam = camera. getparameters ();
If (! TB. ischecked ()){
Param. setflashmode (camera. Parameters. flash_mode_torch );
Togglebutton. setbackgroundcolor (0x30ffffff );
} Else {
Param. setflashmode (camera. Parameters. flash_mode_off );
Togglebutton. setbackgroundcolor (0 xffffffff );
}
Camera. setparameters (PARAM );
}
@ Override
Protectedvoid onpause (){
// Camera. Release ();
// Process. killprocess (process. mypid ());
Super. onpause ();
}
}