读取手机相册,获取选中的某张图片的路径

来源:互联网 发布:淘宝卖家被处罚的原因 编辑:程序博客网 时间:2024/05/17 05:51
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;@Overrideprotected 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() {@Overridepublic 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中获取图片的URIUri 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();}}}}};}

0 0