наконец-то я получил ответ, теперь он работает, пришлось использовать FileProvider, теперь это больше похоже на
, если кто-то столкнется с такой же проблемой, дайте мне знать, я опубликую пошаговое решение
publi c void openfile (Просмотр v) {
if (!checkstoragepermission()) {
requestReadpermission();`
}else {
File pdfFile = new File(Environment.getExternalStorageDirectory() + "/Zio
app/" + "/materials/"+"notes.pdf"); // -> filename = maven.pdf
if (pdfFile.exists()) {
File imagePath = new File(Environment.getExternalStorageDirectory() + "/"
+ "Zio app" ,"materials");
File newFile = new File(imagePath, "notes.pdf");
Uri path = FileProvider.getUriForFile(this,
"com.example.zio.fileprovider", newFile);
Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
pdfIntent.setDataAndType(path, "application/pdf");
pdfIntent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY |
Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent intent = Intent.createChooser(pdfIntent, "Open File");
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY |
Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_ACTIVITY_CLEAR_TOP);
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
Toast.makeText(getApplicationContext(), "No Application available to
view PDF", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(NewActivity.this, "No such file exists",
Toast.LENGTH_SHORT).show();
}
}
}