Пустой экран PDF отображается в Android
Я использую следующий файл Gradle для генерации PDF:
compile 'com.itextpdf:itextg:5.5.10'
Поскольку в моем приложении есть китайские иероглифы, я добавил файл itext-asian.jar в свой classpath. Первоначально он выдавал ошибку "Найдено более одного файла с независимым от ОС путем 'com/itextpdf/text/pdf/fonts/cmap_info.txt'
Итак, я добавил это в моем Gradle:
packagingOptions {
pickFirst 'com/itextpdf/text/pdf/fonts/cmap_info.txt'
}
Теперь gradle успешен, но в моем pdf ничего не отображается. Это просто пустой экран.
1 ответ
Решение
Это сработало для меня, я забыл добавить FLAG_GRANT_WRITE_URI_PERMISSION
Intent i = new Intent(Intent.ACTION_VIEW);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri = FileProvider.getUriForFile(MyDealActivity.this, BuildConfig.APPLICATION_ID + ".provider",new File(path));
i.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
i.setDataAndType(uri, "application/pdf");
return i;