// 拍照片 case R.id.taking_pictures_layout: final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a // file intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the // image startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); break; // 拍视频 case R.id.taking_videos_layout: final Intent newIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); startActivityForResult(newIntent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE); break;
/** Create a file Uri for saving an image or video */ private static Uri getOutputMediaFileUri(int type) { return Uri.fromFile(getOutputMediaFile(type)); } /** Create a File for saving an image or video */ @SuppressLint("SimpleDateFormat") private static File getOutputMediaFile(int type) { File mediaStorageDir = null; if (type == MEDIA_TYPE_IMAGE) { mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES).getAbsolutePath()); } if (!mediaStorageDir.exists()) { if (!mediaStorageDir.mkdirs()) { Log.d("UploadFragment", "failed to create directory"); return null; } } // Create a media file name String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); File mediaFile; if (type == MEDIA_TYPE_IMAGE) { mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".jpg"); } else { return null; } return mediaFile; }
private void uploadVideo(Intent data) { final Uri uri = data.getData(); Cursor cursor = getContext().getContentResolver().query(uri, new String[] { "_data", "_display_name" }, null, null, null); if (null != cursor && cursor.moveToFirst()) { final String path = cursor.getString(cursor.getColumnIndexOrThrow("_data")); final File file = new File(path); final List<RouteEntity> list = getCurrentPath(); if (getArguments().getInt(UploadFragment.KEY_UPLOAD_TO) == UploadFragment.UPLOAD_TO_EN) { if (list.size() == 1) { Tools.toast(getContext(), R.string.root_cannot_upload); return; } MainActivityData.clearEnterpriseDiscData(); fileUpload.upload(file.getAbsolutePath(), String.valueOf(list.get(list.size() - 1).tag), CommConstants.FILE_TYPE_SHAREDISK); } else { MainActivityData.clearUserDiscData(); fileUpload.upload(file.getAbsolutePath(), String.valueOf(list.get(list.size() - 1).tag), CommConstants.FILE_TYPE_ONLINEDISK); } } }