如何显示Pdf文件而无需在Android应用程序中下载,我从服务器获取URL

时间:2017-01-05 07:32:42

标签: android

我的代码在这里

 File file = new File(mediaData.getMediaUrl());
    Uri path = Uri.fromFile(file);
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(path, "application/pdf");
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent).

获取错误pdf不显示

2 个答案:

答案 0 :(得分:0)

我已经使用pdfViewer实现了此功能,并添加了一些逻辑。 我将rxJava2用于多线程,因为Android禁止在主线程中使用网络请求。

SelectMultiple

和getInputStreamFromUrl()方法:

 disposables.add(getInputStreamFromUrl(urlResource!!)
                    .subscribeOn(Schedulers.io())
                    .observeOn(AndroidSchedulers.mainThread())
                    .subscribe({
                        pdfView.fromStream(it)
                                .defaultPage(0)
                                .enableSwipe(true)
                                .autoSpacing(true)
                                .onLoad {
                                    hideProgressDialog()
                                }
                                .onError {
                                    hideProgressDialog()
                                    showInfoDialog(it.message, true)
                                }
                                .load()

                    }, {
                        hideProgressDialog()
                        showInfoDialog(it.message, true)
                    })
            )

我希望这会有所帮助!

答案 1 :(得分:-1)

使用此库,您甚至可以显示远程PDF:
https://github.com/voghDev/PdfViewPager