Не удается получить PDF-файл, используя его путь - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь создать просмотрщик 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());
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...