My app has a feature that browse files on your phone and SD card and open them using other apps. I want a solution where I don\'t have to specify the MimeType and can work w
This will work surely..
private void showFile(File file, String filetype)
{
MimeTypeMap myMime = MimeTypeMap.getSingleton();
Intent intent = new Intent(Intent.ACTION_VIEW);
String mimeType =
myMime.getMimeTypeFromExtension(filetype);
if(android.os.Build.VERSION.SDK_INT >=24) {
Uri fileURI = FileProvider.getUriForFile(getContext(),
BuildConfig.APPLICATION_ID + ".provider",
file);
intent.setDataAndType(fileURI, mimeType);
}else {
intent.setDataAndType(Uri.fromFile(file), mimeType);
}
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_GRANT_READ_URI_PERMISSION);
try {
context.startActivity(intent);
}catch (ActivityNotFoundException e){
Toast.makeText(context, "No Application found to open this type of file.", Toast.LENGTH_LONG).show();
}
}