Android图像采集之一:调用手机自带的照相机程序

</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;
			}





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值