I developed an application that captures a photo when I click on it. It works well on the Acer tab (capture image and save to SD card). Now, when I launch the same application in Samsung Galaxy (Android-4.1.1), my application receives the message “Sorry the application stopped” when you click on the punch in button. And my code goes here.
// ClockIn functionality clockin_btn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { clockin_btn.setEnabled(false); camera.stopPreview(); capturePhoto(0); // showing one error here in log cat previewing = false; clockin_label.setText(String.format(session_msg,logout_seconds)); ticker.setBase(SystemClock.elapsedRealtime()); ticker.start(); } }); private String capturePhoto(int clockInOutMode) { final int mode = clockInOutMode; img_file = String.format("%d.jpg", System.currentTimeMillis()); Camera.PictureCallback mCall = new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { try { Bitmap mBitmap = BitmapFactory.decodeByteArray(data, 0, data.length); File file = new File(Constants.EMP_IMG_LOCATION, img_file); FileOutputStream fOut = new FileOutputStream(file); mBitmap.compress(Bitmap.CompressFormat.JPEG, 80, fOut); fOut.flush(); fOut.close(); if ( mode == 0) { clockIn(img_file); } else { clockOut(img_file); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }; Camera.Parameters cameraParams = camera.getParameters(); List<Camera.Size> sizes = cameraParams.getSupportedPictureSizes(); Camera.Size result = null; for (int i=0;i<sizes.size();i++){ result = (Size) sizes.get(i); Log.i("PictureSize", "Supported Size.Width: " + result.width + "height: " +result.height); } cameraParams.setPictureSize(640, 480); camera.setParameters(cameraParams); System.gc(); camera.setPreviewCallback(null); camera.takePicture(null, null, mCall); // showing one error here in logcat return img_file; }
My Logcat is displayed as:
03-27 04:52:19.273: E/AndroidRuntime(4105): FATAL EXCEPTION: main 03-27 04:52:19.273: E/AndroidRuntime(4105): java.lang.RuntimeException: setParameters failed 03-27 04:52:19.273: E/AndroidRuntime(4105): at android.hardware.Camera.native_setParameters(Native Method) 03-27 04:52:19.273: E/AndroidRuntime(4105): at android.hardware.Camera.setParameters(Camera.java:1452)
and my android.manifest.xml file:
<uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <used-feature android:name="android.hardware.location" /> <used-feature android:name="android.hardware.camera.setParameters" />
source share