package com.testreadgallery;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
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.TextView;
import android.widget.Toast;
/**
* 获取手机gallery的图片路径,并且显示在textview上面。
* @author syd
*
*/
public class MainActivity extends Activity {
Button btnSelectImagePath;
TextView tvShowImagePath;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSelectImagePath = (Button) findViewById(R.id.button1);
tvShowImagePath = (TextView)findViewById(R.id.textView1);
btnSelectImagePath.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//跳转到手机的相册
Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);
}
});
}
/**
* 处理用户在相册中选择的图片
*/
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if (data != null) {
//从intent中获取图片的URI
Uri uri = data.getData();
if (uri == null) {
Toast.makeText(getApplicationContext(), "未选择图片", Toast.LENGTH_LONG).show();
}else {
String path = null;
String[] proj = {MediaStore.Images.Media.DATA};
//通过URi获取到具体的路径
Cursor cursor = getContentResolver().query(uri, proj, null, null, null);
if (cursor != null) {
cursor.moveToFirst();
path = cursor.getString(cursor.getColumnIndex(proj[0]));
tvShowImagePath.setText(path);
Log.e("sydlog", "path=" + path);
Toast.makeText(getApplicationContext(), path, Toast.LENGTH_LONG).show();
}
}
}
}
};
}
读取手机相册,获取选中的某张图片的路径
最新推荐文章于 2022-06-11 17:43:48 发布