Сохранить изображение, записанное во внутреннем хранилище?

Я закодировал съемку и сохранил ее во внешнем хранилище. Он хорошо работает на моем планшете с SD-картой. Однако, у меня возникают проблемы с моим телефоном, который не поддерживает SD-карту. Может кто-нибудь помочь мне написать коды для сохранения во внутреннем хранилище .Благодаря!

((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) ; } 

Solutions Collecting From Web of "Сохранить изображение, записанное во внутреннем хранилище?"

Это очень просто .. Вместо внешнего имени пути к файлу. Вы должны указать имя файла File Path. Это FileOutputStream out = new FileOutputStream(new File(getFilesDir()+File.separator+"MyFile.jpg")); ..Пробуйте попробовать..Он работает хорошо

а также

Еще одна вещь: вы должны добавить разрешение для внутреннего хранилища в файл Android Manifest.xml

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