获取相册图片及路径

1.获取相册

m_input.setOnClickListener(new Button.OnClickListener(){
			@Override
			public void onClick(View v) {
				Intent openAlbumIntent = new Intent(Intent.ACTION_GET_CONTENT);
				//通过“image”判断打开选择图片窗口
				openAlbumIntent.setType("image/*");
				
				startActivityForResult(openAlbumIntent,CHOOSE_PICTURE);
				
			}
		});

2重写onActivityResult以获得你需要的信息

@Override
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub		
		switch (requestCode) {
		case CHOOSE_PICTURE:
			if(resultCode == RESULT_OK){
				Uri originalUri = data.getData();
				try {
	            	//使用ContentProvider通过URI获取原始图片
					Bitmap bm = MediaStore.Images.Media.getBitmap(resolver, originalUri);
					
					String[] proj = {MediaStore.Images.Media.DATA};					 
		            //好像是android多媒体数据库的封装接口,具体的看Android文档
		            Cursor cursor = managedQuery(originalUri, proj, null, null, null); 
		            //按我个人理解 这个是获得用户选择的图片的索引值
		            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
		            //将光标移至开头 ,这个很重要,不小心很容易引起越界
		            cursor.moveToFirst();
		            //最后根据索引值获取图片路径
		            floorplan_path = cursor.getString(column_index);	            
		            File f = new File(floorplan_path);		       
					if (f.exists()) {	
					mZoomView.setImage(floorplan_path);
					} else {	
					}
				} catch (FileNotFoundException e) {
					e.printStackTrace();
				} catch (IOException e) {
					e.printStackTrace();
				} 	
			}
			break;
		default:
			break;
		}
	}
注:如果图片不替换把addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)改为addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值