@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_CANCELED) { onBackPressed(); } if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) { long createdAt = HelpMe.getCurrentTime(); String filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES) .getAbsolutePath() + "/vid_" + TJPreferences.getUserId(this) + "_" + TJPreferences.getActiveJourneyId(this) + "_" + createdAt + ".mp4"; try { AssetFileDescriptor videoAsset = getContentResolver().openAssetFileDescriptor(data.getData(), "r"); FileInputStream fis = videoAsset.createInputStream(); File root = new File( Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES) .getAbsolutePath()); if (!root.exists()) { root.mkdirs(); } File file; file = new File(filePath); FileOutputStream fos = new FileOutputStream(file); byte[] buf = new byte[1024]; int len; while ((len = fis.read(buf)) > 0) { fos.write(buf, 0, len); } fis.close(); fos.close(); } catch (Exception e) { e.printStackTrace(); } /* Uri videoUri = data.getData(); Log.d(TAG, "video saved at" + videoUri); Log.d(TAG, "Real path URI" + getRealPathFromURI(videoUri));*/ Intent i = new Intent(this, VideoPreview.class); i.putExtra("VIDEO_PATH", filePath); i.putExtra("CREATED_AT", createdAt); startActivity(i); finish(); } }