Android Apps调用相机及选择圖片


记得照相是要加权限的

<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" />

<uses-feature android:name="android.hardware.camera.autofocus" />


1、首先我們要啟動照相或相冊

private final int IMAGE_CODE = 101; //標志從相冊中取圖片

private final int CAPTURE_CODE = 100;//標志照相后取圖片

a 啟動照相    

Intent takephoto = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);    

startActivityForResult(takephoto,CAPTURE_CODE);


b 啟動圖片瀏覽    

Intent album = new Intent(Intent.ACTION_GET_CONTENT);   

abum.setType(IMAGE_TYPE);   

startActivityForResult(getAlbum, IMAGE_CODE);


2、然后再返回的onActivityResult做處理

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
	try {
		// super.onActivityResult(requestCode, resultCode, data);
		ContentResolver resolver = getContentResolver();
		if (resultCode != RESULT_OK) {
			return;// 一定要加,不然后會報錯。
		} else if (requestCode == IMAGE_CODE) {
			Uri originalUri = data.getData();
			if (originalUri != null) {
			 // 這里得到相冊的圖片數據,通過URI來得到圖片數據
			  bm = MediaStore.Images.Media.getBitmap(resolver,originalUri);
			}
		} else if (requestCode == CAPTURE_CODE && resultCode == RESULT_OK) {
			Bundle bundle = data.getExtras();
			if (bundle != null) {
				bm = (Bitmap) bundle.get("data");// 這里就介到照相后的圖片數據
			}
		}
	} catch (Exception e) {
		e.printStackTrace();
		Toast.makeText(this, "選擇文件格式錯誤,圖片隻為能jpg格式", Toast.LENGTH_SHORT).show();
	}
}




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学英语的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值