অ্যান্ড্রয়েড গ্যালারী থেকে একাধিক চিত্র নির্বাচন করুন


114

সুতরাং মূলত আমি যা অর্জন করতে চাইছি তা হ'ল Galleryঅ্যান্ড্রয়েডের উদ্বোধন এবং ব্যবহারকারীকে নির্বাচন করতে দিন multiple images। এখন এই প্রশ্নটি প্রায়শই জিজ্ঞাসা করা হয়েছে তবে আমি উত্তর দিয়ে সন্তুষ্ট নই। মূলত কারণ আমি আমার আইডিই-তে ডি ডক্সে আকর্ষণীয় কিছু পেয়েছি (আমি এটি পরে আবার ফিরে আসছি) এবং এর মাধ্যমে আমি কাস্টম অ্যাডাপ্টারটি ব্যবহার করতে চাই না তবে কেবল ভ্যানিলা একটি চাই।

এখন একটি চিত্র নির্বাচন করার জন্য আমার কোডটি হ'ল:

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);

এখন এসও এবং অন্যান্য ওয়েবসাইটের লোকেরা আপনাকে বলবে আপনার কাছে দুটি বিকল্প রয়েছে:

1) ব্যবহার করবেন না ACTION_GET_CONTENTকিন্তু ACTION_SEND_MULTIPLEপরিবর্তে।
এই এক কাজ করে না। এটি sendingফাইলগুলির জন্য ডক্স অনুসারে এবং না retrievingএবং এটি ঠিক এটি করে। ACTION_SEND_MULTIPLE ব্যবহার করার সময় আমি আমার ডিভাইসে একটি উইন্ডো খোলা পেয়েছি যেখানে আমার ডেটা প্রেরণের জন্য আমাকে একটি অ্যাপ্লিকেশন নির্বাচন করতে হবে। এটি আমি চাই না, তাই আমি আশ্চর্য হয়েছি কীভাবে লোকেরা এই সমাধান দিয়ে এটি অর্জন করেছে .. আমি কি কিছু মিস করছি?

2) একটি বাস্তবায়ন custom Gallery। এখন এটি আমার শেষ বিকল্পটি আমি বিবেচনা করব কারণ ইমো এটি যা আমি অনুসন্ধান করছি তা নয় কারণ আমাকে এটি স্টাইল করতে হবে এবং কেন হ্যাক আপনি কেবল ভ্যানিলা গ্যালারীটিতে একাধিক চিত্র নির্বাচন করতে পারবেন না?

এর জন্য অবশ্যই একটি বিকল্প থাকতে হবে .. এখন আকর্ষণীয় জিনিসটি যা আমি পেয়েছি তা হ'ল:
এর ডক্স বিবরণে আমি এটি পেয়েছি ACTION_GET_CONTENT

যদি কলার একাধিক ফেরত আইটেমগুলি পরিচালনা করতে পারে (ব্যবহারকারী একাধিক নির্বাচন করছেন), তবে এটি এটি নির্দেশ করতে EXTRA_ALLOW_MULTIPLE নির্দিষ্ট করতে পারে।

এটি বেশ আকর্ষণীয়। এখানে তারা এটি ব্যবহারের ক্ষেত্রে উল্লেখ করছে যেখানে কোনও ব্যবহারকারী একাধিক আইটেম নির্বাচন করতে পারে?

পরে তারা ডক্সে বলে:

ব্যবহারকারীকে একাধিক আইটেম নির্বাচন করার অনুমতি দেওয়ার জন্য আপনি EXTRA_ALLOW_MULTIPLE ব্যবহার করতে পারেন।

সুতরাং এটি বেশ সুস্পষ্ট অধিকার? এটাই আমার দরকার। তবে আমার নিম্নলিখিত প্রশ্নটি: আমি এটি কোথায় রাখতে পারি EXTRA_ALLOW_MULTIPLE? দুঃখজনক বিষয়টি হ'ল আমি এটি কোথাও বিকাশকারীদের মধ্যে খুঁজে পাই না and অ্যান্ড্রয়েড গাইড এবং এটি অন্তর্গ শ্রেণিতে ধ্রুবক হিসাবে সংজ্ঞায়িত হয়নি।

এই সাহায্যে কেউ আমাকে সাহায্য করতে পারে EXTRA_ALLOW_MULTIPLE?




1
@ কাইলশ্যাঙ্ক সমাধান আমার পক্ষে কাজ করেছে। সেটিং EXTRA_ALLOW_MULTIPLEআপনাকে একাধিক আইটেম নির্বাচন করতে দেয়। getClipData()ফিরে আসা উদ্দেশ্যগুলিতে কল করে ইউআরআইগুলি পান onActivityResult। একমাত্র সমস্যা হ'ল গ্যালারী উইজেট একাধিক নির্বাচনের অনুমতি দেবে না। সেক্ষেত্রে যে কোনও ছবিতে ক্লিক করা বাছাইকারীকে শেষ করে এবং ইউআরআই (একক আইটেমের) রিটার্নড ইনটেন্টকে কল getDataকরে পেতে পারেন
তানভীর আলম

উত্তর:


122

EXTRA_ALLOW_MULTIPLE বিকল্পটি ইন্টেন্ট.পুটেক্সট্রা () পদ্ধতির মাধ্যমে অভিপ্রায় সেট করা হয়েছে:

intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);

আপনার কোডটি উপরে বর্ণিত হওয়া উচিত:

Intent intent = new Intent();
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);

দ্রষ্টব্য: EXTRA_ALLOW_MULTIPLEবিকল্পটি কেবলমাত্র Android 18 এপিআই এবং তার চেয়েও বেশি ক্ষেত্রে উপলভ্য।


আমি এটি জানি তবে আমি আমার উত্তরে উল্লেখ করেছি: "দুঃখজনক বিষয়টি হ'ল আমি এটি কোথাও বিকাশকারীদের মধ্যে খুঁজে পাই না can't অ্যান্ড্রয়েড গাইড এবং এটি ইন্টেন্ট শ্রেণিতে ধ্রুবক হিসাবে সংজ্ঞায়িত হয়নি" " আমার আইডিই অভিপ্রায় সনাক্ত করতে পারে না EXT আমি এপিআই স্তর 18 ইনস্টল করা আছে। আমার আইডিই বলে: "EXTRA_ALLOW_MULTIPLE সমাধান করা যায় না বা ক্ষেত্র নয়"
Dion Segijn

ইন্টেন্ট.পুটেক্সট্রা (ইনটেন্ট। টেক্সটরা_এলএলএলও_মুলটিপ্লে, সত্য); এমুলেটর ব্যবহার করুন, একাধিক নির্বাচন সমর্থন করবেন না।
কিন্মিয়াও

11
এটি একাধিক চিত্র নির্বাচন করে। তবে কীভাবে ক্রিয়াকলাপের ফলাফল থেকে চিত্র url পাবেন ????
জন

4
এটি চিত্র চয়নকারী আরম্ভ করে এবং আমাকে একাধিক চিত্র নির্বাচন করার অনুমতি দেয় তবে আমি কীভাবে url পেতে পারি নাঅ্যাক্টিভিটিআরসাল্টে।
টম কিনকেড

5
ফলস্বরূপ আপনি url পেতে পারেন Intent.getClipData। এটিতে ক্লিপডেটা আইটেমের অ্যারে রয়েছে।
টম হুইনহ

71

ক্লাসে এই ভেরিয়েবলগুলি সংজ্ঞায়িত করুন:

int PICK_IMAGE_MULTIPLE = 1; 
String imageEncoded;    
List<String> imagesEncodedList;

আসুন ধরে নেওয়া যাক যে কোনও বাটনে ক্লিক করুন এটি চিত্র নির্বাচন করতে গ্যালারী খুলতে হবে

 Intent intent = new Intent();
 intent.setType("image/*");
 intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
 intent.setAction(Intent.ACTION_GET_CONTENT);
 startActivityForResult(Intent.createChooser(intent,"Select Picture"), PICK_IMAGE_MULTIPLE);

তারপরে আপনারঅ্যাক্টিভিটিস রেজাল্ট পদ্ধতিটি ওভাররাইড করা উচিত

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    try {
        // When an Image is picked
        if (requestCode == PICK_IMAGE_MULTIPLE && resultCode == RESULT_OK
                    && null != data) {
            // Get the Image from data

            String[] filePathColumn = { MediaStore.Images.Media.DATA };
            imagesEncodedList = new ArrayList<String>();
            if(data.getData()!=null){

                Uri mImageUri=data.getData();

                // Get the cursor
                Cursor cursor = getContentResolver().query(mImageUri,
                            filePathColumn, null, null, null);
                // Move to first row
                cursor.moveToFirst();

                int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                imageEncoded  = cursor.getString(columnIndex);
                cursor.close();

            } else {
                if (data.getClipData() != null) {
                    ClipData mClipData = data.getClipData();
                    ArrayList<Uri> mArrayUri = new ArrayList<Uri>();
                    for (int i = 0; i < mClipData.getItemCount(); i++) {

                        ClipData.Item item = mClipData.getItemAt(i);
                        Uri uri = item.getUri();
                        mArrayUri.add(uri);
                        // Get the cursor
                        Cursor cursor = getContentResolver().query(uri, filePathColumn, null, null, null);
                        // Move to first row
                        cursor.moveToFirst();

                        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                        imageEncoded  = cursor.getString(columnIndex);
                        imagesEncodedList.add(imageEncoded);
                        cursor.close();

                    }
                    Log.v("LOG_TAG", "Selected Images" + mArrayUri.size());
                }
            }
        } else {
            Toast.makeText(this, "You haven't picked Image",
                        Toast.LENGTH_LONG).show();
        }
    } catch (Exception e) {
        Toast.makeText(this, "Something went wrong", Toast.LENGTH_LONG)
                    .show();
    }

    super.onActivityResult(requestCode, resultCode, data);
}

দ্রষ্টব্য: গ্যালারীটি আপনাকে বহু-চিত্র নির্বাচন করার ক্ষমতা দেয় না তাই আমরা এখানে সমস্ত চিত্র স্টুডিও খুলি যা আপনি সেগুলি থেকে বহু-চিত্র নির্বাচন করতে পারেন। এবং আপনার ম্যানিফেস্টে অনুমতিগুলি যুক্ত করতে ভুলবেন না

খুব গুরুত্বপূর্ণ: getData (); একটি একক চিত্র পেতে এবং আমি এটি এখানে চিত্রের এনকোডযুক্ত স্ট্রিংয়ে সংরক্ষণ করেছি যদি ব্যবহারকারী বহু-চিত্র নির্বাচন করেন তবে সেগুলি তালিকায় সংরক্ষণ করা উচিত

সুতরাং আপনাকে যা পরীক্ষা করতে হবে অন্যটি ব্যবহার করার জন্য কোনটি বাতিল

আপনি এবং অন্যদের জন্য একটি ভাল চেষ্টা করতে চান


আমি "ইন্টেন্ট.সেটটাইপ (" চিত্র / * ") এড়িয়ে গেছি;" এবং এটি ব্যবহারকারীদের গ্যালারিতে যাওয়ার সুযোগ না দিয়ে ব্যবহারকারীদের সরাসরি ফটোতে প্রেরণ করে যা মাল্টি-পিক্স নির্বাচনের অনুমতি দেয় না। নিশ্চিত না যে এর কারণেই, আমার গেটডেটা () কখনই শূন্য হয় না, তাই আমি একক এবং একাধিক চিত্র নির্বাচনের জন্য একচেটিয়াভাবে getClipData ব্যবহার করে শেষ করেছি।
জনি উ

1
কেবলমাত্র পার্ট ডেটা ব্যবহার করুন getgetClipData () যথেষ্ট, ডেটা চেক করার দরকার নেই .getData ()
truongnm

&& নাল! = তথ্য ??
ওডেম

8
উরি ইউরি = সামগ্রী: //com.android.providers.media.documents/docament/image%3A772 uri এর মধ্যে ডেটা রয়েছে তবে কার্সার get স্ট্রিং আমার কাছে নাল ইমেজEncoded = कर्सर.সেট্রিং (কলাম ইনডেক্স);
মুহাম্মদ জুবায়ের আশরাফ

2
: এটা দরকারী ছিল, কিন্তু আমি getPath জন্য এই ফাংশন সঙ্গে পরিপূর্ণ ছিল stackoverflow.com/a/20559175/6141959
Geynen

30

এই উত্তরগুলির অনেকগুলি মিল রয়েছে তবে সমস্ত গুরুত্বপূর্ণ অংশটি অনুপস্থিত রয়েছে যা চেক করার আগে নাল onActivityResultকিনা data.getClipDataতা পরীক্ষা করে দেখুনdata.getData

ফাইল চয়নকারীকে কল করার কোড:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*"); //allows any image file type. Change * to specific extension to limit it
//**The following line is the important one!
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURES); //SELECT_PICTURES is simply a global int used to check the calling intent in onActivityResult

চিত্র নির্বাচন করা সমস্ত পেতে কোড :

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == SELECT_PICTURES) {
        if(resultCode == Activity.RESULT_OK) {
            if(data.getClipData() != null) {
                int count = data.getClipData().getItemCount(); //evaluate the count before the for loop --- otherwise, the count is evaluated every loop.
                for(int i = 0; i < count; i++)  
                    Uri imageUri = data.getClipData().getItemAt(i).getUri();
                    //do something with the image (save it to some directory or whatever you need to do with it here) 
                }
            } else if(data.getData() != null) {
                String imagePath = data.getData().getPath();
                //do something with the image (save it to some directory or whatever you need to do with it here)
            }
        }
    }
}

নোট করুন যে অ্যান্ড্রয়েডের চয়নকারীর কিছু ডিভাইসে ফটো এবং গ্যালারী উপলব্ধ। ফটো একাধিক চিত্র নির্বাচন করার অনুমতি দেয়। গ্যালারী একবারে মাত্র একটির অনুমতি দেয়।


getClipData () কী? ডেটা.ট্যাটা ডেটা কি পর্যাপ্ত নয়?
আদি

1
কিছু স্যামসুং ডিভাইসে, ফলাফলটি স্যামসাংবিহীন ডিভাইসের চেয়ে আলাদা হবে। যদি ব্যবহারকারী একাধিক ফাইল নির্বাচন করে getData()তবে কখনও কখনও নਾਲ হবে না তবে কেবল একটি উরি থাকবে। আপনি যদি কোনও ব্যবহারকারী একাধিক ফাইল নির্বাচন করেন তখন আপনি যদি হ্যান্ডেল করতে চান তবে getClipData()আগে পরীক্ষা করে দেখুন getData()- ক্লিপ ডেটা নাল না থাকলে ব্যবহারকারী একাধিক চিত্র নির্বাচন করতে পারে। GetData এর আগে getClipData পরিচালনা করা কিন্তু একাধিক ইউরিসকে অনুমতি দেওয়ার সময় উভয় ক্ষেত্রেই বিভিন্ন ডিভাইস সমর্থন করার জন্য গুরুত্বপূর্ণ।
মীরা_কোল

@ মীরা_কোড আমি কীভাবে নির্বাচিত চিত্রগুলি বিভিন্ন চিত্র দর্শনে সেট করতে পারি?
হাসনাইন গিয়াস

20

আমি আশা করি এই উত্তর দেরি না হয়। কারণ গ্যালারী উইজেট ডিফল্টরূপে একাধিক নির্বাচনকে সমর্থন করে না, তবে গ্রিডভিউটি কাস্টম করতে পারেন যা আপনার মাল্টিলেসেক্ট অভিপ্রায় গ্রহণ করেছে। অন্য বিকল্পটি হ'ল গ্যালারী ভিউটি প্রসারিত করা এবং একাধিক নির্বাচনের অনুমতি দেওয়ার জন্য আপনার নিজের কোডে যুক্ত করা।
এটি সাধারণ লাইব্রেরি এটি করতে পারে: https://github.com/luminousman/ মাল্টিপলআইমেজপিক

আপডেট :
@ ইলির মন্তব্য থেকে, এই লাইব্রেরিতে কাস্টমগ্যালারিঅ্যাক্টিভিটি ব্যবহার করা হয়েছে manageQuery, যা অবহিত করা হয়েছে, তাই এটি পরিবর্তন করে getContentResolver().query()এবং এই উত্তরটিcursor.close() পছন্দ করতে হবে


@ আর 4 জে হ্যাঁ এবং আমি সে সম্পর্কে লিখেছিলাম: প্রকল্পগুলিতে ব্যবহারের জন্য গ্রন্থাগার প্রস্তুত নয়। এটি ব্যবহার শুরু করার জন্য অনেক আপডেট দরকার। এবং আপনার আপডেট সম্পর্কে: getContentResolver().query()ইউআই থ্রেড ব্যবহার করবেন না । লোডার এবং সহায়তা গ্রন্থাগার সম্পর্কে পড়ুন।
এমবেলস্কি

.cacheOnDisc()এছাড়াও .cacheOnDisc(true)
প্রতীক বুটানী

5

উদাহরণ শুরু করুন:

private String imagePath;
private List<String> imagePathList;

ইন onActivityResult আপনি এই, if-অন্য 2 ব্লক লিখতে হবে। একটি একক চিত্রের জন্য এবং অন্য একাধিক চিত্রের জন্য।

if (requestCode == GALLERY_CODE && resultCode == RESULT_OK  && data != null){

    imagePathList = new ArrayList<>();

    if(data.getClipData() != null){

        int count = data.getClipData().getItemCount();
        for (int i=0; i<count; i++){

            Uri imageUri = data.getClipData().getItemAt(i).getUri();
            getImageFilePath(imageUri);
        }
    }
    else if(data.getData() != null){

        Uri imgUri = data.getData();
        getImageFilePath(imgUri);
    }
}

সর্বাধিক গুরুত্বপূর্ণ অংশ, ইউরি থেকে চিত্র পাথ পান :

public void getImageFilePath(Uri uri) {

    File file = new File(uri.getPath());
    String[] filePath = file.getPath().split(":");
    String image_id = filePath[filePath.length - 1];

    Cursor cursor = getContentResolver().query(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, MediaStore.Images.Media._ID + " = ? ", new String[]{image_id}, null);
    if (cursor!=null) {
        cursor.moveToFirst();
        imagePath = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
        imagePathList.add(imagePath);
        cursor.close();
    }
}

আশা করি এটি আপনাকে সহায়তা করতে পারে।


1

আমি থেকে নালু পেয়েছিলাম Cursor। তারপরে রূপান্তর করার Uriজন্য একটি সমাধান খুঁজে পেল যা Bitmapপুরোপুরি কার্যকর।

আমার জন্য কাজ করে এমন সমাধানটি এখানে:

@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
{

    if (resultCode == Activity.RESULT_OK) {

        if (requestCode == YOUR_REQUEST_CODE) {

            if (data != null) {

                if (data.getData() != null) {

                    Uri contentURI = data.getData();
                    ex_one.setImageURI(contentURI);

                    Log.d(TAG, "onActivityResult: " + contentURI.toString());
                    try {

                        Bitmap bitmap = MediaStore.Images.Media.getBitmap(context.getContentResolver(), contentURI);

                    } catch (IOException e) {
                        e.printStackTrace();
                    }

                } else {

                    if (data.getClipData() != null) {
                        ClipData mClipData = data.getClipData();
                        ArrayList<Uri> mArrayUri = new ArrayList<Uri>();
                        for (int i = 0; i < mClipData.getItemCount(); i++) {

                            ClipData.Item item = mClipData.getItemAt(i);
                            Uri uri = item.getUri();
                            try {
                                Bitmap bitmap = MediaStore.Images.Media.getBitmap(context.getContentResolver(), uri);
                            } catch (IOException e) {
                                e.printStackTrace();
                            }

                        }
                    }

                }

            }

        }

    }

}

0

হাই নীচে কোড ঠিক কাজ করছে।

 Cursor imagecursor1 = managedQuery(
    MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,
    null, orderBy + " DESC");

   this.imageUrls = new ArrayList<String>();
  imageUrls.size();

   for (int i = 0; i < imagecursor1.getCount(); i++) {
   imagecursor1.moveToPosition(i);
   int dataColumnIndex = imagecursor1
     .getColumnIndex(MediaStore.Images.Media.DATA);
   imageUrls.add(imagecursor1.getString(dataColumnIndex));
  }

   options = new DisplayImageOptions.Builder()
  .showStubImage(R.drawable.stub_image)
  .showImageForEmptyUri(R.drawable.image_for_empty_url)
  .cacheInMemory().cacheOnDisc().build();

   imageAdapter = new ImageAdapter(this, imageUrls);

   gridView = (GridView) findViewById(R.id.PhoneImageGrid);
  gridView.setAdapter(imageAdapter);

আপনি আরও ব্যাখ্যা করতে চান। http://mylearnandroid.blogspot.in/2014/02/multiple-choose-custom-gallery.html


1
যদি এটি কাজ করে ঠিক আছে। অবহেলিত কোডটি চিহ্নিত করা ভাল, তবে যতক্ষণ আপনি কোনও সমস্যা ছাড়াই এটি ব্যবহার করছেন এটি ব্যবহার করা ভাল। এটি সুরক্ষিত কেন, এটি সুরক্ষার সমস্যাগুলি কিনা, আরও নতুন কোড আরও কার্যকর etc.
জেস্টেফেন

0

আমারও একই সমস্যা ছিল। আমিও চেয়েছিলাম যাতে ব্যবহারকারীরা গ্যালারী থেকে ছবি তোলার সময় সহজেই ফটো তুলতে পারে। এটি করার একটি নেটিভ উপায় খুঁজে পাইনি তাই আমি একটি ওপেনসোর্স প্রকল্প করার সিদ্ধান্ত নিয়েছি। এটি অনেকগুলি মাল্টিপ্লেজ্যাম্পপিকের মতো তবে এটি কার্যকর করার আরও ভাল উপায়।

https://github.com/giljulio/android-multiple-image-picker

private static final RESULT_CODE_PICKER_IMAGES = 9000;


Intent intent = new Intent(this, SmartImagePicker.class);
startActivityForResult(intent, RESULT_CODE_PICKER_IMAGES);


@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode){
        case RESULT_CODE_PICKER_IMAGES:
            if(resultCode == Activity.RESULT_OK){
                Parcelable[] parcelableUris = data.getParcelableArrayExtra(ImagePickerActivity.TAG_IMAGE_URI);

                //Java doesn't allow array casting, this is a little hack
                Uri[] uris = new Uri[parcelableUris.length];
                System.arraycopy(parcelableUris, 0, uris, 0, parcelableUris.length);

                //Do something with the uris array
            }
            break;

        default:
            super.onActivityResult(requestCode, resultCode, data);
            break;
    }
}

0

এই এক চেষ্টা IntentChooser । কোডের কয়েকটি লাইন যুক্ত করুন, আমি আপনার জন্য বাকীটি করেছি।

private void startImageChooserActivity() {
    Intent intent = ImageChooserMaker.newChooser(MainActivity.this)
            .add(new ImageChooser(true))
            .create("Select Image");
    startActivityForResult(intent, REQUEST_IMAGE_CHOOSER);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_IMAGE_CHOOSER && resultCode == RESULT_OK) {
        List<Uri> imageUris = ImageChooserMaker.getPickMultipleImageResultUris(this, data);
    }
}

দ্রষ্টব্য: উপরের হিসাবে প্রশ্নের সঠিক উত্তর উল্লেখ করা হয়েছে, EXTRA_ALLOW_MULTIPLE এপিআই> = 18 (কিছু গ্যালারি অ্যাপ্লিকেশান এই বৈশিষ্ট্যটি উপলব্ধ (যেমন Google ফটো এবং দস্তাবেজগুলি না জন্য কেবল প্রাপ্তিসাধ্য com.android.documentsui) হবে।


যুক্ত হওয়া সত্ত্বেও আমাকে একাধিক চিত্র চয়ন করতে দিচ্ছে নাintent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
বৃশ্চিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.