Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9217715
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T02:41:41+00:00 2026-06-18T02:41:41+00:00

I want to capture image and save it in Image view in one of

  • 0

I want to capture image and save it in Image view in one of My Application. I already have an idea how to implement it and also Works fine in all device Except Samsung Galaxy S3.

What I Want: Avoid the Force Closing Issue Coming in Samsung Galaxy S3 and probably for all other Device which i have not yet tested.

What I have Done: I have Done the Below Code to achieve my goal.

BuildInukshk_4 Activity :

package com.inukshk.CreateInukshk;

import java.util.Calendar;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.DialogInterface.OnDismissListener;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.os.StatFs;
import android.provider.MediaStore;
import android.util.Log;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.inukshk.R;
import com.inukshk.constant.ImageCurve;

public class BuildInukshk_4 extends Activity implements OnClickListener,
        OnDismissListener {

    String TAG = "BuildInukshk_4";
    Button btn_back, btn_upload_picture;
    TextView txt_next;

    public static Activity BuildInukshk_4Activity;

    // Upload Camera
    public static String media = null;
    public static String media_thumb = null;
    public static String media_type = null;
    AlertDialog dialog;
    String _path, Place = "";
    ImageView imageView;
    boolean flag = true;
    Uri uriVideo = null, mCapturedImageURI = null;
    private static final int SELECT_PICTURE = 1;
    private String selectedImagePath = "";
    Uri selectedImageUri = null;
    private String filemanagerstring;
    Bitmap mBitmap;

    // From Transperant
    ContentResolver crThumb;
    private static final int CAMERA_PIC_REQUEST = 2500, VIDEO_REQUEST_CODE = 3;
    final static int REQUEST_VIDEO_CAPTURED = 2;
    BitmapFactory.Options options;
    String fileName;
    long id, imageid;
    Cursor cursor, cursorimage, thumbCursor;

    private String selectedthumbpath = "";
    boolean finish = false;
    // ADDED12324
    // private String filemanagerstring;

    Bitmap curThumb = null, curThumb1 = null;
    String[] thumbColumns = { MediaStore.Video.Thumbnails.DATA,
            MediaStore.Video.Thumbnails.VIDEO_ID };

    String[] mediaColumns = { MediaStore.Video.Media._ID,
            MediaStore.Video.Media.DATA };

    String[] imageColumns = { MediaStore.Images.Media._ID,
            MediaStore.Images.Media.DATA };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.buildinukshk_4);

        BuildInukshk_4Activity = this;
        btn_back = (Button) findViewById(R.id.btn_back);
        btn_back.setOnClickListener(this);

        btn_upload_picture = (Button) findViewById(R.id.btn_upload_picture);
        btn_upload_picture.setOnClickListener(this);

        txt_next = (TextView) findViewById(R.id.txt_next);
        txt_next.setOnClickListener(this);

        imageView = (ImageView) findViewById(R.id.img_upload_pic);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        if (v == txt_next) {
            if (selectedImagePath.equals("")) {
                Toast.makeText(BuildInukshk_4.this,
                        "Please Upload Picture First", 3).show();
            } else {
                startActivity(new Intent(BuildInukshk_4.this,
                        BuildInukshk_5.class));
            }

            // this.finish();
        } else if (v == btn_back) {
            // startActivity(new Intent(BuildInukshk_4.this,
            // BuildInukshk_3.class));
            this.finish();
        } else if (v == btn_upload_picture) {
            registerForContextMenu(btn_upload_picture);
            openContextMenu(btn_upload_picture);
        }

    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        // TODO Auto-generated method stub
        Log.i(TAG, "Inside onCreateContextMenu");
        super.onCreateContextMenu(menu, v, menuInfo);

        if (v == btn_upload_picture) {
            menu.setHeaderTitle("Upload Media");
            menu.add(0, v.getId(), 0, "Photo");
        }
    }

    @Override
    public boolean onContextItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        if (item.getTitle() == "Photo") {
            media_type = "image";
            // media_thumb = null;
            /*
             * Intent intent = new Intent(getApplicationContext(),
             * Transperant.class); intent.putExtra("MEDIA_TYPE", media_type);
             * startActivity(intent);
             */

            ImageChooseOptionDialog();
            // ImageChooseOptionDialog();

        }
        return super.onContextItemSelected(item);
    }

    // Transperant Class
    private void ImageChooseOptionDialog() {

        // finish = true;

        Log.i(TAG, "Inside ImageChooseOptionDialog");
        dialog = new AlertDialog.Builder(BuildInukshk_4.this).create();
        dialog.setTitle("Upload Photo");
        dialog.setMessage("Choose your Photo From here.");
        dialog.setOnDismissListener(this);
        dialog.setButton("Camera", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                // dialog.dismiss();
                Log.i(TAG, "Inside ImageChooseOptionDialog inside camera");

                Boolean isSDPresent = android.os.Environment
                        .getExternalStorageState().equals(
                                android.os.Environment.MEDIA_MOUNTED);
                mCapturedImageURI = null;
                if (isSDPresent) {
                    // yes SD-card is present
                    StatFs stat = new StatFs(Environment
                            .getExternalStorageDirectory().getPath());
                    long bytesAvailable = (long) stat.getBlockSize()
                            * (long) stat.getAvailableBlocks();
                    long megAvailable = bytesAvailable / (1024 * 1024);
                    Log.e("", "Available MB : " + megAvailable);
                    if (megAvailable > 2) {
                        Calendar cal = Calendar.getInstance();
                        _path = cal.getTimeInMillis() + ".jpg";

                        String fileName = _path;
                        // File file = new File(_path);
                        // mCapturedImageURI = Uri.fromFile(file);
                        ContentValues values = new ContentValues();
                        values.put(MediaStore.Images.Media.TITLE, fileName);

                        mCapturedImageURI = getContentResolver().insert(
                                MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                                values);

                        Log.d(TAG, "----- path ----- " + _path);

                        Intent intent = new Intent(
                                android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

                        intent.putExtra(MediaStore.EXTRA_OUTPUT,
                                mCapturedImageURI);

                        Log.d(TAG, "----- mCapturedImageURI ******----- "
                                + mCapturedImageURI);
                        startActivityForResult(intent, 1212);

                        flag = false;
                    } else {

                        Toast.makeText(BuildInukshk_4.this,
                                "No Memory Available", 2).show();
                        flag = true;
                    }
                } else {
                    // Sorry
                    // StatFs stat = new StatFs(Environment.getDataDirectory()
                    // .getPath());
                    // long bytesAvailable = (long) stat.getBlockSize()
                    // * (long) stat.getAvailableBlocks();
                    // long megAvailable = bytesAvailable / (1024 * 1024);
                    // Log.e("", "Internal MB : " + megAvailable);
                    // if (megAvailable > 2) {
                    // startActivityForResult(new Intent(Transperant.this,
                    // VideoRecorder.class), REQUEST_VIDEO_CAPTURED);
                    //
                    // flag = false;
                    // } else {
                    Toast.makeText(BuildInukshk_4.this, "No Memory Available",
                            2).show();
                    flag = true;
                    // }
                    // Toast.makeText(Transperant.this, "No External Storage",
                    // 2)
                    // .show();
                }

            }
        });
        dialog.setButton2("Gallery", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                Log.i(TAG, "Inside Gallary");
                Log.i(TAG, "Inside ImageChooseOptionDialog inside camera");
                // dialog.dismiss();
                Intent intent = new Intent();
                intent.setType("image/*");
                intent.setAction(Intent.ACTION_GET_CONTENT);
                startActivityForResult(
                        Intent.createChooser(intent, "Select Picture"),
                        SELECT_PICTURE);
                flag = false;

            }
        });

        dialog.show();

    }

    @Override
    public void onDismiss(DialogInterface dialog) {
        // TODO Auto-generated method stub

    }

    public String getPath(Uri uri) {
        String[] projection = { MediaStore.Images.Media.DATA };
        Cursor cursor = managedQuery(uri, projection, null, null, null);
        if (cursor != null) {
            // HERE YOU WILL GET A NULLPOINTER IF CURSOR IS NULL
            // THIS CAN BE, IF YOU USED OI FILE MANAGER FOR PICKING THE MEDIA
            int column_index = cursor
                    .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();
            return cursor.getString(column_index);
        } else
            return null;
    }

    public void onActivityResult(int requestCode, int resultCode,
            final Intent data) {

        crThumb = getContentResolver();
        options = new BitmapFactory.Options();
        options.inSampleSize = 1;
        Log.i(TAG, "Inside onActivityResult");

        if (requestCode == SELECT_PICTURE) {
            if (resultCode == RESULT_OK) {
                Log.i(TAG, "SELECT_PICTURE");
                selectedImageUri = data.getData();
                // filemanagerstring = selectedImageUri.getPath();
                selectedImagePath = getPath(selectedImageUri);
                if (selectedImagePath != null) {
                    BuildInukshk_4.media = selectedImagePath;
                    Log.e("Image path", selectedImagePath);

                    mBitmap = BitmapFactory.decodeFile(media);
                    if (mBitmap != null) {
                        Log.i(TAG, "Inside Set Image");
                        imageView.setImageBitmap(mBitmap);
                    }
                    // selectedthumbpath = null;
                    // Testimage();

                    // // curThumb1 = MediaStore.Images.Thumbnails.getThumbnail(
                    // // crThumb, imageid,
                    // // MediaStore.Video.Thumbnails.MICRO_KIND, options);
                    //
                    // Cursor thumbCursorimage = managedQuery(
                    // MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
                    // imageColumns, MediaStore.Images.Thumbnails.IMAGE_ID
                    // + "=" + imageid, null, null);
                    //
                    // Log.e("Transarerant",
                    // "--- inside do TEst Image cusor 2nd -- "
                    // + thumbCursorimage.getCount());
                    // if (thumbCursorimage.moveToFirst()) {
                    // selectedthumbpath = thumbCursorimage
                    // .getString(thumbCursorimage
                    // .getColumnIndex(MediaStore.Images.Thumbnails.DATA));
                    // // selectedthumbpath = new
                    // Log.e("PathofThumb", selectedthumbpath);
                    // BuildInukshk_4.media_thumb = selectedthumbpath;
                    // }

                }
            }

        } else if (requestCode == VIDEO_REQUEST_CODE) {
        }

        else if (requestCode == REQUEST_VIDEO_CAPTURED) {
        }

        else if (requestCode == 1212) {

            if (resultCode == RESULT_OK) {
                Log.i(TAG, "Inside IF CONDITIONS in Camera");
                Log.i(TAG, "mCptureURI :" + mCapturedImageURI);

                String[] projection = { MediaStore.Images.Media.DATA };
                Cursor cursor = managedQuery(mCapturedImageURI, projection,
                        null, null, null);
                int column_index_data = cursor
                        .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                cursor.moveToFirst();
                selectedImagePath = cursor.getString(column_index_data);
                Log.e("Image path", selectedImagePath);

                BuildInukshk_4.media = selectedImagePath;

                mBitmap = BitmapFactory.decodeFile(media);
                if (mBitmap != null) {
                    Log.i(TAG, "Inside Set Image");
                    // mBitmap = ImageCurve.GetCurveImage(mBitmap);
                    imageView.setImageBitmap(mBitmap);
                }

                // selectedthumbpath = null;
                // Testimage();

                // curThumb1 =
                // MediaStore.Images.Thumbnails.getThumbnail(crThumb,
                // imageid, MediaStore.Video.Thumbnails.MICRO_KIND,
                // options);
                //
                // Cursor thumbCursorimage = managedQuery(
                // MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
                // imageColumns, MediaStore.Images.Thumbnails.IMAGE_ID
                // + "=" + imageid, null, null);
                //
                // Log.e("Transarerant",
                // "--- inside do TEst Image cusor 2nd -- "
                // + thumbCursorimage.getCount());
                // if (thumbCursorimage.moveToFirst()) {
                // selectedthumbpath = thumbCursorimage
                // .getString(thumbCursorimage
                // .getColumnIndex(MediaStore.Images.Thumbnails.DATA));
                // // selectedthumbpath = new
                // Log.e("PathofThumb", selectedthumbpath);
                // BuildInukshk_4.media_thumb = selectedthumbpath;
            }

        }
    }
}

Also Here is my Manifest file if i have done my mistake here:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.inukshk"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- FOR Camera -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />

    <!-- Don't require camera, as this requires a rear camera. This allows it to work on the Nexus 7 -->
    <uses-feature
        android:name="android.hardware.camera"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.front"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.autofocus"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.flash"
        android:required="false" />
    <uses-feature android:name="android.hardware.screen.landscape" />
    <uses-feature
        android:name="android.hardware.wifi"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />
    <uses-feature android:name="android.hardware.camera" />

    <application
        android:icon="@drawable/app_icon_final"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar" >
        <uses-library android:name="com.google.android.maps" />

        <activity
            android:name=".SplashScreen"
            android:label="@string/title_activity_main"
            android:screenOrientation="sensorPortait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:screenOrientation="sensorPortait" />
        <activity
            android:name=".login.LoginActivity"
            android:screenOrientation="sensorPortait"
            android:windowSoftInputMode="stateHidden" />
        <activity
            android:name=".WhereAmI.WhereAmI"
            android:screenOrientation="sensorPortait" />
        <activity
            android:name=".WhosNearMe.WhosNearMe"
            android:screenOrientation="sensorPortait" />
        <activity
            android:name=".WhatsNearMe.WhatsNearMe"
            android:screenOrientation="sensorPortait" />
        <activity
            android:name=".CreateInukshk.CreateInukshk"
            android:screenOrientation="sensorPortait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".CreateInukshk.BuildInukshk_1"
            android:screenOrientation="sensorPortait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".CreateInukshk.BuildInukshk_2"
            android:screenOrientation="sensorPortait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".CreateInukshk.BuildInukshk_3"
            android:screenOrientation="sensorPortait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".CreateInukshk.BuildInukshk_4"
            android:screenOrientation="sensorPortait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".CreateInukshk.BuildInukshk_5"
            android:screenOrientation="sensorPortait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".tTab.TabSample"
            android:screenOrientation="sensorPortait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".register.RegisterActivity"
            android:screenOrientation="sensorPortait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".Transperant"
            android:screenOrientation="sensorPortait" />
        <activity
            android:name=".HomeActivity"
            android:screenOrientation="sensorPortait" />
        <activity
            android:name=".AfterSplash"
            android:screenOrientation="sensorPortait" />
        <activity
            android:name=".login.ForgotPasswordActivity"
            android:screenOrientation="sensorPortait" />
        <activity
            android:name=".settings.MyProfile"
            android:screenOrientation="sensorPortait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".settings.MyInterests"
            android:screenOrientation="sensorPortait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".settings.InukshkSettings"
            android:screenOrientation="sensorPortait" />
        <activity
            android:name=".settings.MyPicture"
            android:screenOrientation="sensorPortait" />
        <activity
            android:name=".settings.MyInukshks"
            android:screenOrientation="sensorPortait" />
        <activity
            android:name=".settings.ChangePassword"
            android:screenOrientation="sensorPortait" />
    </application>

</manifest>

I have searched for this issue in Many SO link but do not quite get any solution worked for me. Please Help me to get out of this.

I would like to make a note here that I do not have a real device for testing this issue.
But my client has this issue on a real device. I have made an emulator which is the same as S3 and its working with no worries in every scenarios.
I do not know why this is happening only on the real device.

Thanks in Advance

EDITED : iI have solved the above issue by modifying the below code and put as an answer. You can have a look after reading the question.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-18T02:41:42+00:00Added an answer on June 18, 2026 at 2:41 am

    I have Spent many Hours for this Single Issue and Got the Code Working in Most of the Devices With Modifying the Code as Below :

    Any one having the Same issue in future can try out the Below Code.

    While Calling intent for Image Capture :

    String storageState = Environment.getExternalStorageState();
    
                        if (storageState.equals(Environment.MEDIA_MOUNTED)) {
                            Intent intent = new Intent(
                                    MediaStore.ACTION_IMAGE_CAPTURE);
    
                            String filename = System.currentTimeMillis() + ".jpg";
                            ContentValues values = new ContentValues();
                            values.put(MediaStore.Images.Media.TITLE, filename);
                            mImageCaptureUri = getContentResolver().insert(
                                    MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                                    values);
    
                            intent.putExtra(
                                    android.provider.MediaStore.EXTRA_OUTPUT,
                                    mImageCaptureUri);
    
    
                            try {
    
                                startActivityForResult(intent, PICK_FROM_CAMERA);
                            } catch (ActivityNotFoundException e) {
                                e.printStackTrace();
                            }
                        } else {
                            new AlertDialog.Builder(BuildInukshk_4_Camera.this)
                                    .setMessage(
                                            "External Storeage (SD Card) is required.\n\nCurrent state: "
                                                    + storageState)
                                    .setCancelable(true).create().show();
                        }
    
                    } else { // pick from file
                        Intent intent = new Intent();
    
                        intent.setType("image/*");
                        intent.setAction(Intent.ACTION_GET_CONTENT);
    
                        startActivityForResult(Intent.createChooser(intent,
                                "Complete action using"), PICK_FROM_FILE);
                    }
    

    Inside OnActivityResult Method :

    case PICK_FROM_CAMERA:
                    Log.i("TAG", "Inside PICK_FROM_CAMERA");
    
                    // Final Code As Below
                    try {
                        Log.i("TAG", "inside Samsung Phones");
                        String[] projection = {
                                MediaStore.Images.Thumbnails._ID, // The columns we want
                                MediaStore.Images.Thumbnails.IMAGE_ID,
                                MediaStore.Images.Thumbnails.KIND,
                                MediaStore.Images.Thumbnails.DATA };
                        String selection = MediaStore.Images.Thumbnails.KIND + "=" + // Select
                                                                                        // only
                                                                                        // mini's
                                MediaStore.Images.Thumbnails.MINI_KIND;
    
                        String sort = MediaStore.Images.Thumbnails._ID + " DESC";
    
                        // At the moment, this is a bit of a hack, as I'm returning ALL
                        // images, and just taking the latest one. There is a better way
                        // to
                        // narrow this down I think with a WHERE clause which is
                        // currently
                        // the selection variable
                        Cursor myCursor = this.managedQuery(
                                MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
                                projection, selection, null, sort);
    
                        long imageId = 0l;
                        long thumbnailImageId = 0l;
                        String thumbnailPath = "";
    
                        try {
                            myCursor.moveToFirst();
                            imageId = myCursor
                                    .getLong(myCursor
                                            .getColumnIndexOrThrow(MediaStore.Images.Thumbnails.IMAGE_ID));
                            thumbnailImageId = myCursor
                                    .getLong(myCursor
                                            .getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID));
                            thumbnailPath = myCursor
                                    .getString(myCursor
                                            .getColumnIndexOrThrow(MediaStore.Images.Thumbnails.DATA));
                        } finally {
                            // myCursor.close();
                        }
    
                        // Create new Cursor to obtain the file Path for the large image
    
                        String[] largeFileProjection = {
                                MediaStore.Images.ImageColumns._ID,
                                MediaStore.Images.ImageColumns.DATA };
    
                        String largeFileSort = MediaStore.Images.ImageColumns._ID
                                + " DESC";
                        myCursor = this.managedQuery(
                                MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                                largeFileProjection, null, null, largeFileSort);
                        String largeImagePath = "";
    
                        try {
                            myCursor.moveToFirst();
    
                            // This will actually give yo uthe file path location of the
                            // image.
                            largeImagePath = myCursor
                                    .getString(myCursor
                                            .getColumnIndexOrThrow(MediaStore.Images.ImageColumns.DATA));
                            mImageCaptureUri_samsung = Uri.fromFile(new File(
                                    largeImagePath));
                            mImageCaptureUri = null;
                        } finally {
                            // myCursor.close();
                        }
    
                        // These are the two URI's you'll be interested in. They give
                        // you a
                        // handle to the actual images
                        Uri uriLargeImage = Uri.withAppendedPath(
                                MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                                String.valueOf(imageId));
                        Uri uriThumbnailImage = Uri.withAppendedPath(
                                MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
                                String.valueOf(thumbnailImageId));
    
                        // I've left out the remaining code, as all I do is assign the
                        // URI's
                        // to my own objects anyways...
                    } catch (Exception e) {
                        mImageCaptureUri_samsung = null;
                        Log.i("TAG",
                                "inside catch Samsung Phones exception " + e.toString());
    
                    }
    
                    try {
                        Log.i("TAG",
                                "URI Samsung:" + mImageCaptureUri_samsung.getPath());
    
                    } catch (Exception e) {
                        Log.i("TAG", "Excfeption inside Samsung URI :" + e.toString());
                    }
    
                    try {
    
                        Log.i("TAG", "URI Normal:" + mImageCaptureUri.getPath());
                    } catch (Exception e) {
                        Log.i("TAG", "Excfeption inside Normal URI :" + e.toString());
                    }
    
    
    
                    break;
    

    After Running Below Code you Will get Two URIs mImageCaptureUri_samsung and mImageCaptureUri

    you will get the mImageCaptureUri as your Path if you are running the App with Simple Devices and you will get your Cpatured Image path in mImageCaptureUri_samsung if you are running with Devices Like Samsung Galaxy S3.

    Further you all can go ahead with your Code. it Works For me Very Fine With all the Devices i have tested on.

    Also if Someone is having Problem with Above Code than they can reference the Below Great Link Solution of Samsung Galaxy S3

    Hope it will Help.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have created one sample application.For capture image using camera.It is working fine.After capture
In my application I want to capture image and save it to sdcard. I
I want to capture a single image from my webcam and save it to
I want a camera view that will capture a image to a local file
I want to be able to take an image that i have already captured
I have a form in which i want to capture the image of the
I want to save and display the captured image in the next activity.I have
I want to capture & save an image & get the url of the
I want to use default camera and capture image. i want save image in
i want to save and retrieve image path in my application this is my

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.