Вопрос:

Откройте PDF с Adobe Reader существовал в папке Raw

android

8 просмотра

1 ответ

1 Репутация автора

Я пытался отобразить PDF-файл, существующий в сырой папке в Android-студии. Я следовал приведенному ниже коду. Но это показывает ошибку android.content.ActivityNotFoundException: не найдена активность для обработки намерения Как решить эту проблему?

    String uri = "raw://" + R.raw.science;
    Uri path = Uri.fromFile(new File(String.valueOf(uri)));
    Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
    pdfIntent.setDataAndType(path, "application/pdf");
    pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(pdfIntent);
Автор: Arafat Islam Источник Размещён: 11.08.2019 08:02

Ответы (1)


0 плюса

187 Репутация автора

Пример кода:

public static String dirPath = Environment.getExternalStorageDirectory()+ "/ExampleDir/";


    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        CopyPDFFromAssets();
    }

Сделай метод: CopyPDFFromAssets ()

private void CopyPDFFromAssets()
{
copyFile(getResources().openRawResource(R.raw.yardim), 
        new FileOutputStream(new File(dirPath, "my_pdf.pdf")));

        File pdfFile = new File(dirPath, "my_pdf.pdf"); 
         Uri path = Uri.fromFile(pdfFile);
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.setDataAndType(path, "application/pdf");
        startActivity(intent);

    } catch (Exception ex) {
        ex.toString();
    }

}


   private void copyFile(InputStream in, OutputStream out) throws IOException { 
       try { 
          byte[] buffer = new byte[1024];
         int read;
          while((read = in.read(buffer)) != -1)
          {
           out.write(buffer, 0, read); 
           }
          }
        catch(Exception exp){

            }

        }
Автор: Kabir Размещён: 11.08.2019 08:34
Вопросы из категории :
32x32