i am trying to store the bitmap on sd card hear is my code for store the image it working fine on all devices but not in samsung devices only ...
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
call asynctask using this code
new SaveFile(mybitmap).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
my java file asynctask snippet
class SaveFile extends AsyncTask<String, String, String> {
Bitmap bmp;
public SaveFile(Bitmap bmp) {
// TODO Auto-generated constructor stub
this.bmp = bmp;
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
FullScreenViewActivity.this.progress = ProgressDialog.show(
FullScreenViewActivity.this, "", "Please wait...");
}
@Override
protected String doInBackground(String... f_url) {
Log.i("asynk call ", "from");
OutputStream output;
Calendar cal = Calendar.getInstance();
// Find the SD Card path
File filepath = Environment.getExternalStorageDirectory();
// Create a new folder in SD Card
File dir = new File(filepath.getAbsolutePath() + "/Tatto/");
dir.mkdirs();
String mImagename = "image" + cal.getTimeInMillis() + ".png";
// Create a name for the saved image
file = new File(dir, mImagename);
// Show a toast message on successful save
/*
* Toast.makeText(CaptureActivity.this, "Image Saved to SD Card",
* Toast.LENGTH_SHORT).show();
*/
try {
output = new FileOutputStream(file);
// Compress into png format image from 0% - 100%
bmp.compress(Bitmap.CompressFormat.PNG, 100, output);
output.flush();
output.close();
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
progress.dismiss();
Log.i("captureImage call + in catch ", "" + e);
}
Log.i("asynk call end ", "from");
return null;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
progress.dismiss();
Toast.makeText(FullScreenViewActivity.this, "Image Saved...",
Toast.LENGTH_SHORT).show();
}
}
Error Log..
12-14 13:53:36.361: D/AndroidRuntime(20430): Shutting down VM 12-14 13:53:36.361: W/dalvikvm(20430): threadid=1: thread exiting with uncaught exception (group=0x419088b0) 12-14 13:53:36.371: E/AndroidRuntime(20430): FATAL EXCEPTION: main 12-14 13:53:36.371: E/AndroidRuntime(20430): java.lang.RuntimeException: setParameters failed 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.hardware.Camera.native_setParameters(Native Method) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.hardware.Camera.setParameters(Camera.java:1551) 12-14 13:53:36.371: E/AndroidRuntime(20430): at com.karma.tattoo.MainActivity.surfaceCreated(MainActivity.java:403) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.view.SurfaceView.updateWindow(SurfaceView.java:571) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.view.SurfaceView.access$000(SurfaceView.java:86) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:175) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:837) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1870) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1009) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5508) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.view.Choreographer.doCallbacks(Choreographer.java:562) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.view.Choreographer.doFrame(Choreographer.java:532) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.os.Handler.handleCallback(Handler.java:730) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.os.Handler.dispatchMessage(Handler.java:92) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.os.Looper.loop(Looper.java:213) 12-14 13:53:36.371: E/AndroidRuntime(20430): at android.app.ActivityThread.main(ActivityThread.java:5225) 12-14 13:53:36.371: E/AndroidRuntime(20430): at java.lang.reflect.Method.invokeNative(Native Method) 12-14 13:53:36.371: E/AndroidRuntime(20430): at java.lang.reflect.Method.invoke(Method.java:525) 12-14 13:53:36.371: E/AndroidRuntime(20430): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741) 12-14 13:53:36.371: E/AndroidRuntime(20430): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 12-14 13:53:36.371: E/AndroidRuntime(20430): at dalvik.system.NativeStart.main(Native Method)
please help me if i am going wrong .... the problem is only on samsung devices ...