Я пытаюсь создать просмотрщик PDF, используя библиотеку "barteksc".Когда я добавляю pdf-файл из папки «Assets» с помощью pdfview.fromAssets («pdffile.pdf»), он работает, но с использованием пути к файлу он не работает.Я использую кнопку "BrowserActivity", чтобы найти файл PDF, и когда файл выбран, он отправляет путь к файлу в MainActivity.В Mainactivity я не могу показать PDF-файл, используя pdfview.fromFile("filen");
public class BrowserActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_browser);
Button button = findViewById(R.id.browse);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("application/pdf");
startActivityForResult(intent, 7);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
switch (requestCode) {
case 7:
if (resultCode == RESULT_OK) {
String PathHolder = data.getData().getPath();
Toast.makeText(BrowserActivity.this, PathHolder, Toast.LENGTH_LONG).show();
Intent intent = new Intent(BrowserActivity.this, MainActivity.class);
intent.putExtra("path", PathHolder);
startActivity(intent);
}
break;
}
}
}
public class MainActivity extends AppCompatActivity {
PDFView pdfView;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
pdfView = findViewById(R.id.pdfviewer);
//pdfView.fromAsset("QR_Code_Security.pdf").load();
Intent intent = getIntent();
String path = intent.getExtras().getString("path");
try{
File pdfFile = new File(path);//File path
File filename = pdfFile.getAbsoluteFile();
textView.setText(path);
if(pdfFile.exists()){
Log.i("File : ", "exists");
pdfView.fromFile(pdfFile).load();
}
}catch (Exception e){
e.printStackTrace();
Log.e("ERRORRRR",e.getMessage());
}
}
}