В настоящее время я пытаюсь использовать динамическую доставку для загрузки и установки некоторых файлов PDF и открытия их с помощью программы просмотра PDF-файлов barteksc (com.github.barteksc:android-pdf-viewer:2.8.2
).
Когда у меня были файлы PDF в моем apk, все работало нормальноно теперь, когда я загружаю их и устанавливаю их с помощью динамической доставки, я получаю эту ошибку, когда пытаюсь открыть их
E / PDFView: загрузить pdf error java.io.FileNotFoundException: Example.pdf на android.content.res.AssetManager.nativeOpenAsset (собственный метод) на android.content.res.AssetManager.open (AssetManager.java:744) на android.content.res.AssetManager.open (AssetManager.java:721) на com.github.barteksc.pdfviewer.util.FileUtils.fileFromAsset (FileUtils.java:37) в com.github.barteksc.pdfviewer.source.AssetSource.createDocument (AssetSource.java:39) в com.github.barteksc.pdfviewer.DecodingAsyncBask ().DecodingAsyncTask.java:53) на com.github.barteksc.pdfviewer.DecodingAsyncTask.doInBackground (DecodingAsyncTask.java:25) на android.os.AsyncTask $ 2.call (AsyncTas)k.java:333) в java.util.concurrent.FutureTask.run (FutureTask.java:266) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167) в java.util.concurrent.Thread $.run (ThreadPoolExecutor.java:641) на java.lang.Thread.run (Thread.java:764)
Возвращает «Установлено»
if (manager.getInstalledModules().contains("dynamicfeature")) {
statusText.setText("Installed");
} else {
statusText.setText("Feature not yet installed");
}
Я устанавливаюмодуль из другого класса, если это имеет значение, я видел кое-что об обновлении контекста в Google docs, но я не мог понять это.
Я также добавил
com.google.android.play.core.splitcompat.SplitCompatApplication
какв документации сказано, что все еще не повезло.
Это метод, который я использую для просмотра файла PDF. Он отлично работал, пока файлы PDF находились в папке ресурсов базового приложения, но теперь он не работает, когдаPDF-файлы находятся в папке ресурсов модуля динамической доставки.
private void displayFromAsset(String assetFileName) {
String SAMPLE_FILE = getIntent().getStringExtra("PDF INTENT");
pdfFileName = assetFileName;
pdfView.fromAsset(SAMPLE_FILE)
.defaultPage(pageNumber)
.enableSwipe(true)
.swipeHorizontal(false)
.onPageChange(this)
.enableAnnotationRendering(true)
.onLoad(this)
.scrollHandle(new DefaultScrollHandle(this))
.load();