调用系统照相机。
private void callPhone() { //获得文件 File _file = new File(StorageUtils.getCacheDirectory(this), "temp.jpg"); //判断文件是否为null if (_file != null) { //获得图片URI Uri _photo_file_uri = Uri.fromFile(_file);
//判断相片位置uri是否为null if (_photo_file_uri != null) { //开启系统相机 Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); cameraIntent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, 0); cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, _photo_file_uri); startActivityForResult(cameraIntent, Constants.TAKE_PHOTO); }}}
文件处理
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == Constants.TAKE_PHOTO) { //获得临时文件 Bitmap _bitmap = BitmapFactory.decodeFile(StorageUtils.getCacheDirectory(this) + "/temp.jpg"); if (_bitmap != null) { //将图片保存到系统图库,并返回数据库中指定的路径 String urlStr = MediaStore.Images.Media.insertImage(getContentResolver(), _bitmap, TimeUtils.getYearMonthDayHMS(), "cbb_photo"); if (!TextUtils.isEmpty(urlStr)) { //发送更新SD卡通知 MainActivity.this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse(urlStr))); } } } super.onActivityResult(requestCode, resultCode, data); }调用系统摄像机
Intent _video_intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); //保存路径 _video_intent.putExtra(MediaStore.EXTRA_OUTPUT, Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath() + "/Camera/"); //分辨率0最低,1最高 _video_intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,1); //开启系统摄像机 startActivityForResult(_video_intent, Constants.CAMERA_TUBE);