1、在自己的activity中调用startActivityForResult:
mBtn_upload.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, CHOOSE_IMAGEFILE_RESULT_CODE);
}
});
2、选择图片。
3、在自己的activity中重写onActivityResult方法,以取得图片的uri:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Uri uri = data.getData();
Log.d(TAG, "image file path is " + getAbsolutePath(this, uri));
}
4、上面的getAbsolutePath方法根据选取的图片的uri取得其绝对路径,实现如下:
private String getAbsolutePath(Context context, Uri uri) {
ContentResolver localContentResolver = context.getContentResolver();
Cursor localCursor = localContentResolver.query(uri, null, null, null, null);
localCursor.moveToFirst();
return localCursor.getString(localCursor.getColumnIndex("_data"));
}