如何从移动的画廊到一个Android应用程序中挑选图像

eqqqjvef  于 2022-12-21  发布在  Android
关注(0)|答案(3)|浏览(114)

如何从图库中选择图像到Android应用程序?
我需要从我的画廊浏览图像,并选择他们为我的应用程序。如何可以做到这一点?

3okqufwl

3okqufwl1#

您需要使用指向图库的Intent(好吧,“图库”)。
你可以在这里找到一个代码示例(我还没有做,但它看起来会工作):http://www.androidsnippets.com/get-file-path-of-gallery-image

h43kikqp

h43kikqp2#

使用此代码:

fromGalleryButton.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            //takePhotoFromGallery = true;// edited

                            Intent intent = new Intent(); 
                            intent.setType("image/*"); 
                            intent.setAction(Intent.ACTION_GET_CONTENT);// 

                            startActivityForResult(Intent.createChooser(intent, "Select Picture"),10);

                        }
                    });

再加上这个:

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {     
        super.onActivityResult(requestCode, resultCode, data);     
        if (requestCode == 10 && resultCode == Activity.RESULT_OK) {             
            Uri contentUri = data.getData();          
            String[] proj = { MediaStore.Images.Media.DATA };         
            Cursor cursor = managedQuery(contentUri, proj, null, null, null);         
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);         
            cursor.moveToFirst();         
            imagePath = cursor.getString(column_index);           

            tempBitmap = BitmapFactory.decodeFile(imagePath); // this is your image

        } 
}
34gzjxbg

34gzjxbg3#

在Kotlin你可以做到这一点。
在onCreate方法中

binding.updatephoto.setOnClickListener {
       contract.launch("image/*")
    }

创建后

private val contract = registerForActivityResult(ActivityResultContracts.GetContent()){
    it?.let {
        val imageUri = it
    }
}

相关问题