2016-12-25 3 views
0

アンドロイドアプリでさまざまな種類のファイルを表示しようとしていますが、他の種類のファイルを表示しようとするとPDFファイルでのみ機能します。ここで私は解決策を自分で見つけることができるAndroid Appに異なるファイルを表示する際にエラーが発生しました

else if (currentFile.toString().contains(".pdf")) { 

    String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(".PDF"); 
    Intent intent = new Intent(); 
    intent.setAction(android.content.Intent.ACTION_VIEW); 
    intent.setDataAndType(Uri.fromFile(currentFile), mime); 
    startActivityForResult(intent, 10); 

} else if (currentFile.toString().contains(".doc")||currentFile.toString().contains(".docx")) { 

    String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(".doc"); 

    Intent intent = new Intent(); 
    intent.setAction(android.content.Intent.ACTION_VIEW); 
    intent.setDataAndType(Uri.fromFile(currentFile), mime); 
    startActivityForResult(intent, 10); 

} else if (currentFile.toString().contains(".jpg") || currentFile.toString().contains(".jpeg") || currentFile.toString().contains(".png")){ 
    String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(".jpg"); 

    Intent intent = new Intent(); 
    intent.setAction(android.content.Intent.ACTION_VIEW); 
    intent.setDataAndType(Uri.fromFile(currentFile), mime); 
    startActivityForResult(intent, 10); 
} 

答えて

0

と:

は、PDFを表示することはできません、無効なファイル形式

ここに私のコードの抜粋です:私は、エラーと言っては得ます私が使用したコードのスニペットです

private void openFile(File currentFile, String fileFormat) { 
    Intent intent = new Intent(); 
    intent.setAction(android.content.Intent.ACTION_VIEW); 
    intent.setDataAndType(Uri.fromFile(currentFile),fileFormat); 
    startActivity(intent); 
} 

このメソッドをfollowin g:

........... 

       } else if (currentFile.toString().contains(".pdf")) 
       openFile(currentFile,"application/pdf"); 

      else if (currentFile.toString().contains(".doc") || currentFile.toString().contains(".docx")) 
       openFile(currentFile,"application/msword"); 

      else if (currentFile.toString().contains(".jpg") || 
        currentFile.toString().contains(".jpeg") || currentFile.toString().contains(".png")) 
       openFile(currentFile,"image/jpeg"); 
      else if(currentFile.toString().contains(".ppt") || currentFile.toString().contains(".pptx")) 
       // Powerpoint file 
       openFile(currentFile,"application/vnd.ms-powerpoint"); 
      else if(currentFile.toString().contains(".xls") || currentFile.toString().contains(".xlsx")) 
       // Excel file 
       openFile(currentFile, "application/vnd.ms-excel"); 
       else if(currentFile.toString().contains(".zip") || currentFile.toString().contains(".rar")) 
       // WAV audio file 
       openFile(currentFile,"application/x-wav"); 

      else if(currentFile.toString().contains(".rtf")) 
       // RTF file 
       openFile(currentFile,"application/rtf"); 

      else if(currentFile.toString().contains(".wav") || currentFile.toString().contains(".mp3")) 
       // WAV audio file 
       openFile(currentFile,"audio/x-wav"); 

      else if(currentFile.toString().contains(".gif")) 
       // GIF file 
       openFile(currentFile,"image/gif"); 
      else if(currentFile.toString().contains(".txt")) 
       // Text file 
       openFile(currentFile,"text/plain"); 
関連する問題