I'm using EXTRA_ALLOW_MULTIPLE request to select multiple images from Gallery. When am running the same app in my One plus it is working fine and able to choose multiple images. Unable toselect multiple images from Gallery in Samsung M20. I did research a lot, but unable to find it. ( But able to Multi select images from "Photos" thru both mobiles)
public class MainActivity extends AppCompatActivity {
public static final int BROWSE_RESULT = 1;
ImageAdapter imageAdapter;
ArrayList<Uri> imagesUri = new ArrayList<>();
GridView gridView;
@Override
protected void onCreate(Bundle savedInstanceState) {
Button btn_browse,btn_delete;
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView= findViewById(R.id.grid_view);
btn_browse = findViewById(R.id.btn_browse);
btn_browse.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
f_openImageExplorer();
}
});
}
public void f_openImageExplorer() {
Intent intent = new Intent();
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setAction(Intent.ACTION_GET_CONTENT);
// startActivityForResult(intent, BROWSE_RESULT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), BROWSE_RESULT);
}
@Override
protected void onActivityResult(int requestCode, int resultCode,Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == BROWSE_RESULT) {
if (resultCode == MainActivity.RESULT_OK) {
if (data.getClipData() != null) {
Toast.makeText(this,Integer.toString(resultCode) , Toast.LENGTH_SHORT).show();
int imageCount = data.getClipData().getItemCount();
for(int i = 0; i< imageCount;i++){
Uri imageUri = data.getClipData().getItemAt(i).getUri();
imagesUri.add(imageUri);
imageAdapter= new ImageAdapter(getBaseContext(), imagesUri);
gridView.setAdapter(imageAdapter);
imageAdapter.notifyDataSetChanged();
}
}
else
{
Uri singleImageUri = data.getData();
imagesUri.add(singleImageUri);
ImageAdapter imageAdapter= new ImageAdapter(getBaseContext(), imagesUri);
gridView.setAdapter(imageAdapter);
imageAdapter.notifyDataSetChanged();
}
}
}
}
}