Q:

Open a pdf with adobe reader existed in Raw folder

I was trying to display a pdf file existed in raw folder in android studio. I followed the code below. But that shows the error
android.content.ActivityNotFoundException: No Activity found to handle Intent
How to solve this problem? 
    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);

A:

First : Copy your pdf from raw to sd card .
Make sure about permission for copy pdf inside sd card:WRITE_EXTERNAL_STORAGE and READ_EXTERNAL_STORAGE
Example code:
public static String dirPath = Environment.getExternalStorageDirectory() + "/ExampleDir/";
@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 CopyPDFFromAssets();
}

Make a method:CopyPDFFromAssets()
 private void CopyPDFFromAssets() {
  copyFile(getResources().openRawResource(R.raw.science),
   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");

  try {
   startActivity(intent);
  } catch (ActivityNotFoundException e) {
   Toast.makeText(this, "No Application Available to View PDF",
    Toast.LENGTH_SHORT).show();
  }

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

 }

Then create method:copyFile():
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) {

 }    
}

