Android图像采集之一:调用手机自带的照相机程序
2016-03-27 23:06
756 查看
</pre><strong>调用手机自带的照相机程序</strong><p></p><p><strong>(1)需要在Manifest.xml文件中,设置可读取SD卡的权限:</strong></p><p><pre name="code" class="html"> <!--添加SD卡可写权限 --> <uses-permission android:name="android.permissio.WRITE_EXTERNAL_STORAGES"/>(2)设置图片存储位置及对应Intent的RequestCode标识
//拍照照片存储位置 private File photoDir = new File(Environment.getExternalStorageDirectory()+"/DCIM/Camera"); private File photoFileName; private String photoName; //用来标识请求照相程序的Acitivity,作为RequestCode private static final int requestCode_photoTaken = 1000; <strong> </strong>
<strong>(3)判断SD卡状态</strong>
String status = Environment.getExternalStorageState(); if (status.equals(Environment.MEDIA_MOUNTED)) {// 判断是否有SD卡 // 执行照相程序 } else { showToast("没有SD卡"); }(4)调用系统自带照相机程序
photoDir.mkdir();//创建照片存储目录 photoFileName = new File(photoDir,getphotoFileName()); //用日期给照片命名 Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(photoFileName) ); //将照相后的文件存储到所对应的目录下 startActivityForResult(intent,requestCode_photoTaken);(5)重写onActivityResult,对反馈回的数据进行处理
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); //继承父类 //如果未成功返回 if(resultCode != RESULT_OK) { showToast("未成功返回数据!"); return; } else //若成功响应,并返回数据 { switch(requestCode) //通过标识,找到对应的返回数据,并执行对应的程序 { case requestCode_photoTaken: // 执行相应处理程序 break; }
相关文章推荐
- 实现android中的二次点击退出
- Android CursorAdapter
- android中把屏幕变透明的方法
- Android 自定义分层级筛选控件
- android 多线程 异步消息处理 服务 学习笔记 (六)
- Android 自定义debug.keystore
- Dialog透明设置
- android ListView 与GridView 学习总结(五)
- Android截取字符串
- Android工具类——TimeUtils时间戳与时间字符串相互转换
- Android中handle用法总结
- android studio快捷键
- Android中,单位dp、sp、px互相转换工具类
- Android-ProgressBar进度条以及对话框的使用
- [android] 短信的广播接收者
- Android——edittext的几个属性
- android解决DDMS无法查看data目录问题
- android.mk 自动生成
- Android 内核 - 05 SystemServer
- Android性能优化之Bitmap的内存优化