1,在清单文件里设置拍照权限

    <uses-permission android:name="android.permission.CAMERA" />    <uses-permission android:name="android.permission.VIBRATE" />    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />    <uses-permission android:name="android.permission.INTERNET" />         <uses-permission android:name="android.permission.RECORD_AUDIO" />

2,跳转到系统相机的拍照界面或者录像界面

private static final int CAMERA = 0;private static final int CASE_VIDEO = 1;----------------------------------------------------------//拍照photoDir = new File(MyConstants.PHOTO_PATH);            if (!photoDir.exists()) {                photoDir.mkdirs();            }            String name = "temp.jpg";            photo = new File(photoDir, name);            Uri photoUri = Uri.fromFile(photo);            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);            intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);            startActivityForResult(intent, CAMERA);//录像Intent intent1 = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);            intent1.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);            startActivityForResult(intent1, CASE_VIDEO);            SimpleDateFormat formatter = new SimpleDateFormat(                    "yyyy年MM月dd日    HH:mm:ss     ");            Date curDate = new Date(System.currentTimeMillis());// 获取当前时间            date1 = formatter.format(curDate);

3,重写onActivityResult()方法,根据拍照或者录像成功的返回值,做相应的操作

@Override    public void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        if (requestCode == CAMERA && resultCode == Activity.RESULT_OK) {            if (photo.exists()) {                String name = new DateFormat().format("yyyyMMdd_hhmmss",                        Calendar.getInstance(Locale.CHINA)) + ".jpg";                File newFile = new File(photoDir, name);                photo.renameTo(newFile);                String fileSize = FileSizeUtil.getAutoFileOrFilesSize(newFile                        .getAbsolutePath());                String date = new DateFormat().format("yyyyMMddhh:mm:ss",                        Calendar.getInstance(Locale.CHINA)).toString();            }        }        if (requestCode == CASE_VIDEO && resultCode == Activity.RESULT_OK                && null != data) {            Uri uri = data.getData();            String filePath = "";            if (uri == null) {                return;            } else {                Cursor c = getActivity().getContentResolver().query(uri,                        new String[] { MediaStore.MediaColumns.DATA }, null,                        null, null);                if (c != null && c.moveToFirst()) {                    filePath = c.getString(0);                }            }        }

4,根据文件路径获取文件大小的方法

public static double getAutoFileSize(String filePath) {        File file = new File(filePath);        long blockSize = 0;        try {            if (file.isDirectory()) {                blockSize = getFileSizes(file);            } else {                blockSize = getFileSize(file);            }        } catch (Exception e) {            e.printStackTrace();            Log.e("获取文件大小", "获取失败!");        }        return FormatFileSize(blockSize);    }

更多相关文章

  1. Android(安卓)ViewPager的初始化及遇到的切换异常,界面异常拉伸
  2. 《Ophone应用开发权威指南》学习:Android(安卓)图形用户界面 之
  3. android强制隐藏软键盘以及取消EditText的焦点
  4. Missing styles. Is the correct theme chosen for this layout?
  5. 在线音乐播放器
  6. android 摄像头(我想在类里面直接编辑UI界面,但是老是提示空指针,麻
  7. 界面有Edittext时有些手机进入界面会自动弹出键盘,消除自动弹出键
  8. 【Android(安卓)Socket专题】:UDP通信客户端app的demo的实现
  9. Android(安卓)Studio SDK 各版本下载方法

随机推荐

  1. 你不知道的 Android(安卓)WebView 使用漏
  2. 你有没有遇到Android的HelloWord程序无法
  3. Android学习笔记(四七):Content Provider初
  4. Android 操作权限大全(已归纳分类)
  5. android输入法弹出调整布局与沉浸式状态
  6. 今天给大家分享一下Android中的资源与国
  7. 2012年全国最新Android开发工程师薪资水
  8. 做好准备,让你的短信应用迎接Android 4.4(
  9. Android(安卓)Sample--NotePad解析
  10. Android逐帧动画的简单使用-语音播放效果