Search code examples
androidfileandroid-intentmime-types

Automatically open Intent Chooser for the file Android


I want to open a file in android. What i want to do is if the file is of type Image then i want to open Intent Chooser which contains applications that can view the image, and if it is of video type, then open Intent Chooser with applications that can view videos. How can i achieve this?


Solution

  • I have found a solution. I am pasting it here so it may help other users.

        Intent intent = new Intent();
        intent.setAction(android.content.Intent.ACTION_VIEW);
        File file = new File(path);
    
        MimeTypeMap mime = MimeTypeMap.getSingleton();
        String ext = file.getName().substring(file.getName().lastIndexOf(".") + 1);
        String type = mime.getMimeTypeFromExtension(ext);
    
        intent.setDataAndType(Uri.fromFile(file), type);
    
        context.startActivity(intent);