Если вы откроете FileChooser с помощью Intent.ACTION_GET_CONTENT
и выберете огромное количество файлов, например, 2500, будет выброшено TransactionTooLargeException
, а затем процесс будет завершен без возобновления в onActivityResult
:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(CATEGORY_OPENABLE);
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent = Intent.createChooser(intent, "Foo");
startActivityForResult(intent, 121);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// logic stuff
}
}
Как можно позволить пользователю решать, сколько файлов выбрать, не разрушая приложение?