BatCave1997
7/23/2018 - 5:07 AM

FlashLight app

All functions used in flashlight app main use of CameraManager

boolean hasFlash;
boolean isFlashOn = false ;
ImageView i;
CameraManager cameraManager;
String camerId;

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        i = findViewById(R.id.iv);

        hasFlash = this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
        if(!hasFlash){
            new AlertDialog.Builder(MainActivity.this)
                    .setIcon(R.drawable.ic_launcher_foreground)
                    .setTitle("Error")
                    .setMessage("Sorry, your device doesn't support camera flash")
                    .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            finish();
                        }
                    }).show();
        }

        GetCamera();

    }
 void TurnOnFlash()  {
        try {
            cameraManager.setTorchMode(camerId,true);
            isFlashOn = true;
        } catch (CameraAccessException e) {
            e.printStackTrace();
        }
    }

    void TurnOffFlash(){
        try {
            cameraManager.setTorchMode(camerId, false);
            isFlashOn = false;
        } catch (CameraAccessException e) {
            e.printStackTrace();
        }
    }

private void GetCamera(){
        cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
        try {
            camerId = cameraManager.getCameraIdList()[0];
        }catch(CameraAccessException e){
            e.printStackTrace();
        }
    }