功能:调用本地相册获取图片,并选择制定图片返回
1、布局和调用照相的相同,需要的鞋童返回获取
2、代码实现。MainActivity.java
package com.cn.test;
import java.io.FileNotFoundException;
import java.io.IOException;
import android.media.ThumbnailUtils;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Intent;
import android.graphics.Bitmap;
public class MainActivity extends Activity {
private String TAG = "MainActivity";
private static final int LOCAL_PHONE =
1001;//调用本地相册的标识符
private Button bt;
private ImageView imageview;
@Override
public void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initiali();
}
private void initiali() {
bt = (Button)
findViewById(R.id.bt);
bt.setOnClickListener(btListener);
imageview = (ImageView)
findViewById(R.id.imgview);
}
private OnClickListener btListener
= new OnClickListener() {
@Override
public void onClick(View v)
{
Intent
intent=new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
startActivityForResult(intent,LOCAL_PHONE);
}
};
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
ContentResolver resolver =
getContentResolver();
if(resultCode ==
RESULT_OK){
if(requestCode
== LOCAL_PHONE){
if(data
!= null){
Bitmap
thbm = null;
try
{
//调用相册后,返回的data是一个Uri的路径类型,而调相机返回的是Bitmap类型的数据
//所以使用onActivityResult得小心返回的data的数据类型是什么作相应的数据调整
Uri
localImgUri = data.getData();
Bitmap
bitmap;
bitmap
= MediaStore.Images.Media.getBitmap(resolver ,localImgUri);
thbm
= ThumbnailUtils.extractThumbnail(bitmap, 100, 100);
imageview.setBackgroundResource(0);
imageview.setImageBitmap(thbm);
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}else{
Log.e(TAG,
"返回图片为空");
}
}
}else{
return;
}
};
}
有不明白地方的鞋童,可以留言大家共同商讨。