What is createChooser when I have to use Intents? What I could do with this method?

I have been taking a look over stackoverflow but I did’t find a definition about what is “createChooser” and why I can use and in whick kind of situations is good to use it.

Thanks in advance.

  • Suppress “Identifier not allowed in Android”
  • SQLite returned an error code of 14
  • ScrollView .scrollTo not working? Saving ScrollView position on rotation
  • Align left edge to center - RelativeLayout
  • The method getSystemService(String) is undefined for the type Listen
  • monodroid/xamarin custom attributes are empty using ObtainStyledAttributes
  • Related posts:

    Android Studio Rename Package
    Why Android Studio is slowing down when editing xml file or changing the design?
    Unable to do low-level decoding of video on Android 4.2 without using media extractor
    How to Get Correct Path After Cropping the Image?
    Android :EditText loses content on scroll in ListView?
    Determine which VIEW in multiple views has gesture (double click, swipe left, swipe right, etc)?
  • Sizing an Android multi-line TextView
  • why am I getting wrong requestCode?
  • CoordinatorLayout ignores margins for views with anchor
  • Is it okay to sign two different applications with the same key?
  • Android - NullPointerException on SearchView in Action Bar
  • Proguard errors with external jar - returns error code 1
  • 3 Solutions collect form web for “What is createChooser when I have to use Intents? What I could do with this method?”

    For example: you have a share picture option in your application.

    You define an intent like this:

    Intent picMessageIntent = new Intent(android.content.Intent.ACTION_SEND);
    picMessageIntent.setType("image/jpeg");
    
    File downloadedPic =  new File(
        Environment.getExternalStoragePublicDirectory(
        Environment.DIRECTORY_DOWNLOADS),
        "q.jpeg");
    
    picMessageIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(downloadedPic));
    

    Than when you call:

    startActivity(picMessageIntent);  
    

    all applications on your phone capable of getting this picture will be listed.

    If you want to custimize the title of that list, you can use createChooser like this:

    startActivity(Intent.createChooser(picMessageIntent, "Send your picture using:"));
    

    enter image description here

    When startActivity(intent) is called for the first time from your app the user sees a list of all apps capable to handle this intent.

    There is also an option to always handle this intent using one of the apps from the list. If this option is used then the list will never be shown again.

    If you use createChooser in your intent then the “always use this app” option is not shown. The user always sees this list.

    This method is used when you want to create a Custom Action using an Intent… Just like what android provides ACTION_VIEW etc… but here when there are multiple choices to perform an an Action this chooser will bring up a dialog which will have all available options and let the user select one… here is an example

    Android Babe is a Google Android Fan, All about Android Phones, Android Wear, Android Dev and Android Games Apps and so on.