Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

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.

like image 921
Juan Pedro Martinez Avatar asked Apr 24 '12 08:04

Juan Pedro Martinez


2 Answers

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

like image 63
Nesim Razon Avatar answered Sep 30 '22 11:09

Nesim Razon


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.

like image 43
Anonymous Avatar answered Sep 30 '22 11:09

Anonymous