我想用androidpdfviewer从外部存储器(download/pdfs/myfile.pdf)加载一个pdf文件,但它显示空白屏幕,没有任何错误。我试过很多方法,但都不管用。
public class PdfViewActivity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
File path = new File(Environment.getExternalStorageDirectory().getPath() + "/Download/Pdfs/myfile.pdf");
PDFView pdfView = findViewById(R.id.pdfView);
pdfView.fromFile(path).load();
我的“download/pdfs/myfile.pdf”中有一个pdf文件,我用上面的代码加载了这个文件,但它不起作用。我已从设置中手动授予存储权限。有谁能纠正我在哪里犯的错误吗。
4条答案
按热度按时间i7uq4tfw1#
首先,将库添加到build.gradle文件中
要从存储器中打开pdf文件,请使用以下代码。有些评论解释了它的作用。
fxnxkyjh2#
在android 10设备中,你的应用程序无法访问外部存储。
除非你加上
在清单文件的应用程序标记中。
gmxoilav3#
不要使用fromfile()而是使用fromsource()。i、 e.将pathe声明为documentsource而不是file。
raogr8fs4#
我已经测试了你的代码,它在android10设备上运行良好。您缺少以下内容:
1.在android清单文件中添加read\u external\u存储权限
并且在应用程序标签中添加requestlegacyexternalstorage为true,以便能够访问android 10及以上设备上的外部存储。
2.验证设备上“/download/pdfs/myfile.pdf”路径下是否存在pdf。
3.通过在运行时首先在oncreate方法中请求外部存储权限,使用以下代码更改活动: