Что такое createChooser, когда я должен использовать Intents? Что я могу сделать с этим методом?

Я смотрю на stackoverflow, но я не нашел определения о том, что такое "createChooser", и почему я могу использовать его и в ситуациях, доступных для использования. Полезно использовать его.

Спасибо заранее.

Ответы

Ответ 1

Например: у вас есть опция совместного доступа в приложении.

Вы определяете намерение следующим образом:

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));

Чем вы звоните:

startActivity(picMessageIntent);  

будут указаны все приложения на вашем телефоне, способные получить это изображение.

Если вы хотите custimize заголовок этого списка, вы можете использовать createChooser следующим образом:

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

enter image description here

Ответ 2

Когда startActivity (намерение) вызывается в первый раз из вашего приложения, пользователь видит список всех приложений, способных справиться с этим намерением.

Существует также возможность всегда обрабатывать это намерение, используя одно из приложений из списка. Если этот параметр используется, список больше никогда не будет отображаться.

Если вы используете createChooser в своем намерении, опция "всегда использовать это приложение" не отображается. Пользователь всегда видит этот список.

Ответ 3

Этот метод используется, когда вы хотите создать пользовательское действие с использованием намерения... Также как и то, что поддерживает android ACTION_VIEW и т.д., но здесь, когда есть несколько вариантов выполнения Action, этот выбор будет вызывать диалог, который будет иметь все доступные параметры и позволит пользователю выбрать один... здесь пример