how to make torch app in android

activity_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>
MainActivity.java:

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;

    }

   }
  });

 }
}

Add Permissions to your manifest:

 <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />

Comments

Popular posts from this blog

how to fetch blob image gallery in php html sql

how to save image to pdf in android

How to create album view with fancybox slider view in html php complete code