.안드로이드 LED on/off 제어 기능 체크.
관련해서 참고 글.
하단에는....www.mkyong.com사이트의 내용 복사 첨부하였음.
접기
출처 : http://www.mkyong.com/
How To Turn On/Off Camera LED / Flashlight In Android
1. Turn on
camera = Camera.open ( ) ;
Parameters p = camera.getParameters ( ) ;
p.setFlashMode ( Parameters.FLASH_MODE_TORCH ) ;
camera.setParameters ( p) ;
camera.startPreview ( ) ; 2. Turn off
camera = Camera.open ( ) ;
Parameters p = camera.getParameters ( ) ;
p.setFlashMode ( Parameters.FLASH_MODE_OFF ) ;
camera.setParameters ( p) ;
camera.stopPreview ( ) ; And, put following permission on AndroidManifest.xml
.
<uses-permission android:name ="android.permission.CAMERA" />
<uses-feature android:name ="android.hardware.camera" /> P.S This project is developed in Eclipse 3.7, and tested with Samsung Galaxy S2 (Android 2.3.3).
1. Android Layout A button only.
File : res/layout/main.xml
<?xml version ="1.0" encoding ="utf-8" ?>
<RelativeLayout xmlns:android ="http://schemas.android.com/apk/res/android"
android:id ="@+id/relativeLayout1"
android:layout_width ="fill_parent"
android:layout_height ="fill_parent" >
<Button
android:id ="@+id/buttonFlashlight"
android:layout_width ="wrap_content"
android:layout_height ="wrap_content"
android:layout_centerVertical ="true"
android:layout_centerHorizontal ="true"
android:text ="Torch" />
</RelativeLayout> 2. Activity Read the code, a button to turn on / off the flashlight, it should be self-explanatory.
package com.mkyong.android ;
import android.app.Activity ;
import android.content.Context ;
import android.content.pm.PackageManager ;
import android.hardware.Camera ;
import android.hardware.Camera.Parameters ;
import android.os.Bundle ;
import android.util.Log ;
import android.view.View ;
import android.view.View.OnClickListener ;
import android.widget.Button ;
public class FlashLightActivity extends Activity {
//flag to detect flash is on or off
private boolean isLighOn = false ;
private Camera camera;
private Button button;
@Override
protected void onStop( ) {
super .onStop ( ) ;
if ( camera != null ) {
camera.release ( ) ;
}
}
@Override
public void onCreate( Bundle savedInstanceState) {
super .onCreate ( savedInstanceState) ;
setContentView( R.layout .main ) ;
button = ( Button ) findViewById( R.id .buttonFlashlight ) ;
Context context = this ;
PackageManager pm = context.getPackageManager ( ) ;
// if device support camera?
if ( ! pm.hasSystemFeature ( PackageManager.FEATURE_CAMERA ) ) {
Log.e ( "err" , "Device has no camera!" ) ;
return ;
}
camera = Camera.open ( ) ;
final Parameters p = camera.getParameters ( ) ;
button.setOnClickListener ( new OnClickListener( ) {
@Override
public void onClick( View arg0) {
if ( isLighOn) {
Log.i ( "info" , "torch is turn off!" ) ;
p.setFlashMode ( Parameters.FLASH_MODE_OFF ) ;
camera.setParameters ( p) ;
camera.stopPreview ( ) ;
isLighOn = false ;
} else {
Log.i ( "info" , "torch is turn on!" ) ;
p.setFlashMode ( Parameters.FLASH_MODE_TORCH ) ;
camera.setParameters ( p) ;
camera.startPreview ( ) ;
isLighOn = true ;
}
}
} ) ;
}
} 3. Android Permission Assign CAMERA permission.
File : AndroidManifest.xml
<?xml version ="1.0" encoding ="utf-8" ?>
<manifest xmlns:android ="http://schemas.android.com/apk/res/android"
package ="com.mkyong.android"
android:versionCode ="1"
android:versionName ="1.0" >
<uses-sdk android:minSdkVersion ="10" />
<uses-permission android:name ="android.permission.CAMERA" />
<uses-feature android:name ="android.hardware.camera" />
<application
android:debuggable ="true"
android:icon ="@drawable/ic_launcher"
android:label ="@string/app_name" >
<activity
android:label ="@string/app_name"
android:name =".FlashLightActivity" >
<intent-filter >
<action android:name ="android.intent.action.MAIN" />
<category android:name ="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest >
접기