package
com.cons.dcg.collect;
002 |
003 | import java.io.File; |
004 | import java.text.SimpleDateFormat; |
005 | import java.util.*; |
006 | import android.app.*; |
007 | import android.content.Intent; |
008 | import android.database.Cursor; |
009 | import android.net.Uri; |
010 | import android.os.AsyncTask; |
011 | import android.os.Bundle; |
012 | import android.os.Environment; |
013 | import android.provider.MediaStore; |
014 | import android.view.*; |
015 | import android.widget.*; |
016 |
017 | public class RecordActivity extends Activity implements OnClickListener { |
018 |
019 | private static final int RESULT_CAPTURE_IMAGE = 1 ; // 照相的requestCode |
020 | private static final int REQUEST_CODE_TAKE_VIDEO = 2 ; // 摄像的照相的requestCode |
021 | private static final int RESULT_CAPTURE_RECORDER_SOUND = 3 ; // 录音的requestCode |
022 | |
023 | private String strImgPath = "" ; // 照片文件绝对路径 |
024 | private String strVideoPath = "" ; // 视频文件的绝对路径 |
025 | private String strRecorderPath = "" ; // 录音文件的绝对路径 |
026 |
027 | @Override |
028 | protected void onCreate(Bundle savedInstanceState) { |
029 | super .onCreate(savedInstanceState); |
030 | this .setContentView(R.layout.problem_report); |
031 | } |
032 |
033 | @Override |
034 | protected void onActivityResult( int requestCode, int resultCode, Intent data) { |
035 | super .onActivityResult(requestCode, resultCode, data); |
036 | switch (requestCode) { |
037 | case RESULT_CAPTURE_IMAGE: //拍照 |
038 | if (resultCode == RESULT_OK) { |
039 | Toast.makeText( this , strImgPath, Toast.LENGTH_SHORT).show(); |
040 | } |
041 | break ; |
042 | case REQUEST_CODE_TAKE_VIDEO: //拍摄视频 |
043 | if (resultCode == RESULT_OK) { |
044 | Uri uriVideo = data.getData(); |
045 | Cursor cursor= this .getContentResolver().query(uriVideo, null , null , null , null ); |
046 | if (cursor.moveToNext()) { |
047 | /** _data:文件的绝对路径 ,_display_name:文件名 */ |
048 | strVideoPath = cursor.getString(cursor.getColumnIndex( "_data" )); |
049 | Toast.makeText( this , strVideoPath, Toast.LENGTH_SHORT).show(); |
050 | } |
051 | } |
052 | break ; |
053 | case RESULT_CAPTURE_RECORDER_SOUND: //录音 |
054 | if (resultCode == RESULT_OK) { |
055 | Uri uriRecorder = data.getData(); |
056 | Cursor cursor= this .getContentResolver().query(uriRecorder, null , null , null , null ); |
057 | if (cursor.moveToNext()) { |
058 | /** _data:文件的绝对路径 ,_display_name:文件名 */ |
059 | strRecorderPath = cursor.getString(cursor.getColumnIndex( "_data" )); |
060 | Toast.makeText( this , strRecorderPath, Toast.LENGTH_SHORT).show(); |
061 | } |
062 | } |
063 | break ; |
064 | } |
065 | } |
066 | |
067 | |
068 |
069 | /** |
070 | * 照相功能 |
071 | */ |
072 | private void cameraMethod() { |
073 | Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); |
074 | strImgPath = Environment.getExternalStorageDirectory().toString() + "/CONSDCGMPIC/" ; //存放照片的文件夹 |
075 | String fileName = new SimpleDateFormat( "yyyyMMddHHmmss" ).format( new Date()) + ".jpg" ; //照片命名 |
076 | File out = new File(strImgPath); |
077 | if (!out.exists()) { |
078 | out.mkdirs(); |
079 | } |
080 | out = new File(strImgPath, fileName); |
081 | strImgPath = strImgPath + fileName; //该照片的绝对路径 |
082 | Uri uri = Uri.fromFile(out); |
083 | imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri); |
084 | imageCaptureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1 ); |
085 | startActivityForResult(imageCaptureIntent, RESULT_CAPTURE_IMAGE); |
086 |
087 | } |
088 |
089 | /** |
090 | * 拍摄视频 |
091 | */ |
092 | private void videoMethod() { |
093 | Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); |
094 | intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0 ); |
095 | startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO); |
096 | } |
097 |
098 | /** |
099 | * 录音功能 |
100 | */ |
101 | private void soundRecorderMethod() { |
102 | Intent intent = new Intent(Intent.ACTION_GET_CONTENT); |
103 | intent.setType( "audio/amr" ); |
104 | startActivityForResult(intent, RESULT_CAPTURE_RECORDER_SOUND); |
105 | } |
106 |
107 | /** |
108 | * 提示信息 |
109 | * @param text |
110 | * @param duration |
111 | */ |
112 | private void showToast(String text, int duration) { |
113 | Toast.makeText(ProblemReport. this , text, duration).show(); |
114 | } |
115 | } |