Mobile Hardware Camera Access show in Fragment

 

//--------------------------------------------Code Detail and Working---------------------------------------------------------

Step 1 permission

//============================java Code Start =========================================

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

 

=========================================End==========================================

//--------------------------------------------Code Detail and Working---------------------------------------------------------

Step 2 Preview

//============================java Code Start =========================================

public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
   
private SurfaceHolder mHolder;
    private
Camera mCamera;

    public
CameraPreview(Context context, Camera camera) {
       
super(context);
       
mCamera = camera;

       
// Install a SurfaceHolder.Callback so we get notified when the
        // underlying surface is created and destroyed.
       
mHolder = getHolder();
       
mHolder.addCallback(this);
       
// deprecated setting, but required on Android versions prior to 3.0
       
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
   
}

   
public void surfaceCreated(SurfaceHolder holder) {
       
// The Surface has been created, now tell the camera where to draw the preview.
       
try {
           
mCamera.setPreviewDisplay(holder);
           
mCamera.startPreview();
       
} catch (IOException e) {
            Log.d(
TAG, "Error setting camera preview: " + e.getMessage());
       
}
    }

   
public void surfaceDestroyed(SurfaceHolder holder) {
       
// empty. Take care of releasing the Camera preview in your activity.
   
}

   
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
       
// If your preview can change or rotate, take care of those events here.
        // Make sure to stop the preview before resizing or reformatting it.

       
if (mHolder.getSurface() == null){
           
// preview surface does not exist
           
return;
       
}

       
// stop preview before making changes
       
try {
           
mCamera.stopPreview();
       
} catch (Exception e){
           
// ignore: tried to stop a non-existent preview
       
}

       
// set preview size and make any resize, rotate or
        // reformatting changes here

        // start preview with new settings
       
try {
           
mCamera.setPreviewDisplay(mHolder);
           
mCamera.startPreview();

       
} catch (Exception e){
            Log.d(
TAG, "Error starting camera preview: " + e.getMessage());
       
}
    }
}

=========================================End==========================================

 

//--------------------------------------------Code Detail and Working---------------------------------------------------------

Step 3 instance and state camera

//============================java Code Start =========================================

private void startCamera() {
   
camera = getCameraInstance();
   
preview = new CameraPreview(this, camera);
   
FrameLayout previewLayout = (FrameLayout) findViewById(R.id.camera_preview);
   
previewLayout.addView(preview);
}

private android.hardware.Camera getCameraInstance() {
    android.hardware.Camera camera =
null;
    try
{
        camera = android.hardware.Camera.open()
;
   
} catch (Exception e) {
        e.printStackTrace()
;
   
}
   
return camera;
}

 

=========================================End==========================================

 

//--------------------------------------------Code Detail and Working---------------------------------------------------------

Step 4 Permision and start camera

//============================java Code Start =========================================

if (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
   
int MY_PERMISSIONS_REQUEST_CAMERA=100;
   
ActivityCompat.requestPermissions(Camera.this, new String[] {Manifest.permission.CAMERA}, MY_PERMISSIONS_REQUEST_CAMERA);
}

startCamera()
;

 

=========================================End==========================================

 

 

Post a Comment

0 Comments
* Please Don't Spam Here. All the Comments are Reviewed by Admin.