I encoded the survey and saved it to external storage. It works well on my tablet with an SD card. However, I am having problems with a phone that does not support an SD card. Can someone help me write codes to save to internal storage. Thanks!
((Button) findViewById(R.id.btnTaken)) .setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { takeImage(); } }); protected void takeImage() { Log.i(TAG,"onClick event"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss"); String currentDateandTime = sdf.format(new Date()); String fileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Image_" + currentDateandTime + ".jpg"; mCamera.takePicture(fileName); Toast.makeText(this, fileName + " saved", Toast.LENGTH_SHORT).show(); } public void takePicture(final String fileName) { Log.i(TAG, "Tacking picture"); PictureCallback callback = new PictureCallback() { private String mPictureFileName = fileName; @Override public void onPictureTaken(byte[] data, Camera camera) { Log.i(TAG, "Saving a bitmap to file"); Bitmap picture = BitmapFactory.decodeByteArray(data, 0, data.length); try { FileOutputStream out = new FileOutputStream(mPictureFileName); picture.compress(Bitmap.CompressFormat.JPEG, 90, out); picture.recycle(); mCamera.startPreview(); } catch (Exception e) { e.printStackTrace(); } } }; Camera.ShutterCallback shutter = new Camera.ShutterCallback() { public void onShutter() { Log.e(getClass().getSimpleName(), "SHUTTER CALLBACK"); } }; Camera.PictureCallback raw = new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera c) { Log.e(getClass().getSimpleName(), "PICTURE CALLBACK RAW: " + data); mCamera.startPreview(); } }; mCamera.takePicture(shutter, raw, callback) ; }
user2205173
source share