1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Android通过打开相册图片获取图片路径

Android通过打开相册图片获取图片路径

时间:2020-03-31 17:29:48

相关推荐

Android通过打开相册图片获取图片路径

首先在AndroidManifest.xml中添加权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

主代码

import android.content.Intent;import android.database.Cursor;import .Uri;import android.os.Bundle;import android.provider.MediaStore;import android.view.View;import android.widget.Button;import android.widget.Toast;import androidx.annotation.Nullable;import androidx.appcompat.app.AppCompatActivity;public class SelectPicPath extends AppCompatActivity {private final int OPEN_ALBUM_REQUESTCODE = 1; //请求码private Button openAlbumButton; //打开相册按钮@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);openAlbumButton = findViewById(R.id.Button);/*** 点击监听*/openAlbumButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent openAlbumIntent = new Intent(Intent.ACTION_PICK); //打开相册openAlbumIntent.setType("image/*");//选择全部照片startActivityForResult(openAlbumIntent, OPEN_ALBUM_REQUESTCODE); //发送请求}});}/*** 处理打开相册请求* @param requestCode* @param resultCode* @param data*/@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == OPEN_ALBUM_REQUESTCODE){if (resultCode == RESULT_OK){Uri uri = data.getData();String picPath = getPicPath(uri);Toast.makeText(SelectPicPath.this,"图片路径:"+picPath,Toast.LENGTH_SHORT).show();}}}/*** 获取图片路径* @param uri* @return*/private String getPicPath(Uri uri){String[] picPathColumns = {MediaStore.Images.Media.DATA};Cursor cursor = getContentResolver().query(uri, picPathColumns, null, null, null);cursor.moveToFirst();return cursor.getString(cursor.getColumnIndex(picPathColumns[0]));}}

界面没啥贴代码的了,就一个按钮

本次文章分享就到这,有什么疑问或有更好的建议可在评论区留言,也可以私信我感谢阅读~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。