Yani temelde elde etmeye çalıştığım şey Gallery
Android'de açmak ve kullanıcının seçmesine izin vermek multiple images
. Şimdi bu soru sıkça soruldu ama cevaplardan memnun değilim. Temelde, IDE'mde de docs'da ilginç bir şey bulduğum için (buna daha sonra geri döneceğim) ve bu nedenle özel bir adaptör kullanmak istemiyorum, sadece vanilya kullanmak istiyorum.
Şimdi bir resim seçme kodum:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);
Şimdi SO'daki ve diğer web sitelerindeki Kişiler size 2 seçeneğiniz olduğunu söyleyecek:
1) kullanmayın ACTION_GET_CONTENT
ama ACTION_SEND_MULTIPLE
bunun yerine.
Bu çalışmıyor. Bu sending
dosya belgelerine göre değilretrieving
ve tam olarak yaptığı şey bu. ACTION_SEND_MULTIPLE kullanırken, cihazımda verilerimi göndermek için bir uygulama seçmem gereken bir pencere açtım. İstediğim bu değil, bu yüzden insanlar bu çözümle bunu nasıl başardılar merak ediyorum .. Bir şeyi özlüyor muyum?
2) Bir custom Gallery
. Şimdi bu benim düşüneceğim son seçeneğim çünkü aradığım şey bu değil çünkü onu kendim biçimlendirmem gerekiyor VE neden vanilya galerisinde birden fazla resim seçemiyorsunuz?
Bunun için bir seçenek olmalı .. Şimdi bulduğum ilginç şey şudur:
Bunu belgelerin açıklamasında buldum ACTION_GET_CONTENT
.
Arayan, birden çok iade edilen öğeyi işleyebiliyorsa (kullanıcı, birden çok seçim gerçekleştiriyorsa), bunu belirtmek için EXTRA_ALLOW_MULTIPLE öğesini belirleyebilir.
Bu oldukça ilginç. Burada, bir kullanıcının birden çok öğe seçebileceği kullanım senaryosuna atıfta bulunuyorlar?
Daha sonra belgelerde şöyle derler:
Kullanıcının birden çok öğe seçmesine izin vermek için EXTRA_ALLOW_MULTIPLE kullanabilirsiniz.
Yani bu oldukça açık değil mi? İhtiyacım olan bu. Ama şu sorum şu: Bunu nereye koyabilirim EXTRA_ALLOW_MULTIPLE
? Üzücü olan şey, geliştiriciler.android kılavuzunda bunu hiçbir yerde bulamıyorum ve ayrıca bu, INTENT sınıfında sabit olarak tanımlanmıyor.
Bana bu konuda yardımcı olabilecek biri var mı EXTRA_ALLOW_MULTIPLE
?
EXTRA_ALLOW_MULTIPLE
, birden çok öğe seçmenize izin verir. getClipData()
Döndürülen amacı çağırarak URI'leri alın onActivityResult
. Tek sorun, galeri widget'ının çoklu seçime izin vermemesidir. Bu durumda, herhangi bir resme tıklamak seçiciyi bitirir ve URI'yi (tek öğenin) getData
geri dönen niyet üzerine çağırarak alabilirsiniz