Итак, у меня в приложении есть эти кнопки, которые я хочу открыть .PDF-файлы из приложения после нажатия.
Я сохранил свои файлы в каталоге / res / raw. Давайте назовем их file1.PDF, file2.PDF и т. Д.
public void onClick(View v) {
switch (v.getId()) {
case R.id.file1:
Log.i(TAG, "Button one pressed");
openPDF(Uri.parse("android:resource://test.pdf.files/raw/res/file1.PDF"));
break;
}}
Выше мой код для onClick. Ниже приведен код функции openPDF.
public void openPDF(Uri url)
{
File file = new File(url.toString());
Log.i(TAG, url.toString());
if (file.exists())
{
Log.i(TAG, "File exists");
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(file), "application/pdf");
try
{
getApplicationContext().startActivity(intent);
}
catch (ActivityNotFoundException e)
{
Log.e(TAG,"Activity not found exception");
}
}else{
Log.i(TAG,"404: File not found!");
}
}
Моя проблема заключается в следующем, я никогда не смогу пройти проверку if (file.exists ()). Я пытался заставить файл File принимать как Uri, URI и String, я также пробовал более или менее каждый вариант пути к файлу, например, «res / raw / file1.PDF», «raw / file.PDF», «test .pdf.files / сырье / RES / file1.PDF». Но в любом из этих случаев я просто не могу найти файл, который хочу открыть, кто-нибудь может понять, почему это не сработает?
Я пытался исправить это часами и часами, и я просто не могу обернуться вокруг него.