Хотя не через намерение, но я нашел хороший проект библиотеки droidninja, который позволяет просматривать файлы документов или изображения, хранящиеся локально за один раз.
repositories {
jcenter()
maven {
url "https://jitpack.io"
}
}
Вставьте это в app.gradle файла
compile 'com.droidninja:filepicker:1.0.6'
затем называем это ниже заданной функцией, чтобы иметь материальное тематическое диалоговое окно, которое даст один вариант выбрать, следует ли выбрать изображения или группа, или же с Документами
private void showFileChooser() {
new MaterialStyledDialog.Builder(getActivity())
.setTitle("Upload Documents")
.setDescription("Upload single or multiple documents in a single attempt now, maximum being 5.\n \nChoose between Images option or PDF's option now. \n")
//.setStyle(Style.HEADER_WITH_ICON)
.setHeaderColor(R.color.colorPrimary)
.withDialogAnimation(true)
.setIcon(R.drawable.ic_pdf)
.setCancelable(true)
.autoDismiss(false)
.setPositiveText(R.string.images)
.onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
dialog.dismiss();
FilePickerBuilder.getInstance().setMaxCount(5)
.setSelectedFiles(selectedPhotos)
.setActivityTheme(R.style.AppTheme)
.pickPhoto(getActivity());
}
})
.setNeutralText(R.string.pdf)
.onNeutral(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
dialog.dismiss();
FilePickerBuilder.getInstance().setMaxCount(5)
.setSelectedFiles(filePaths)
.setActivityTheme(R.style.AppTheme)
.pickDocument(getActivity());
}
})
.show();
}
Для этого диалогового окна, хотя, вы должны иметь в Gradle файле
compile com.github.javiersantos:MaterialStyledDialogs:2.0'
наконец, onActivityResult() будет вызываться для извлечения результата что-то вроде этого
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case FilePickerConst.REQUEST_CODE_PHOTO:
if (resultCode == Activity.RESULT_OK && data != null) {
selectedPhotos = new ArrayList<>();
selectedPhotos.addAll(data.getStringArrayListExtra(FilePickerConst.KEY_SELECTED_PHOTOS));
}
break;
case FilePickerConst.REQUEST_CODE_DOC:
if (resultCode == Activity.RESULT_OK && data != null) {
filePaths = new ArrayList<>();
filePaths.addAll(data.getStringArrayListExtra(FilePickerConst.KEY_SELECTED_DOCS));
}
break;
}
}
AppTheme
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="android:windowNoTitle">true</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
https://androidproblem.wordpress.com/2012/01/18/pick-a-file-using-intent-action_get_conten t/ –