首先在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]));}}
界面没啥贴代码的了,就一个按钮
本次文章分享就到这,有什么疑问或有更好的建议可在评论区留言,也可以私信我感谢阅读~