全局变量
点击(此处)折叠或打开
-
private final String IMAGE_TYPE = "image/*";//
-
private final int IMAGE_CODE = 0; // //这里的IMAGE_CODE是自己任意定义的
- //使用intent调用系统提供的相册功能,使用startActivityForResult是为了获取用户选择的图片
Ocreate内部调用
点击(此处)折叠或打开
-
Intent getAlbum = new Intent(Intent.ACTION_GET_CONTENT);//
-
getAlbum.setType(IMAGE_TYPE);//
- startActivityForResult(getAlbum, IMAGE_CODE);//
重写方法
点击(此处)折叠或打开
-
@Override
-
protected void onActivityResult(int requestCode, int resultCode, Intent data){
-
if (resultCode != RESULT_OK) { //此处的 RESULT_OK 是系统自定义得一个常量
-
return;
-
}
-
Bitmap bm = null;
-
//外界的程序访问ContentProvider所提供数据 可以通过ContentResolver接口
-
ContentResolver resolver = getContentResolver();
-
//此处的用于判断接收的Activity
-
if (requestCode == IMAGE_CODE) {
-
try {
-
Uri originalUri = data.getData(); //获得图片的uri
-
bm = MediaStore.Images.Media.getBitmap(resolver, originalUri); //得到bitmap图片
-
//以下获取图片的路径:
- String[] proj = {MediaStore.Images.Media.DATA};
- Cursor cursor = managedQuery(originalUri, proj, null, null, null);
- int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
- cursor.moveToFirst();
-
String path = cursor.getString(column_index);
-
Toast.makeText(getApplicationContext(),path, Toast.LENGTH_SHORT).show();
-
}catch (IOException e) {
-
-
}
-
}
- }