Обратный вызов для пользовательского элемента на экране выбора объекта

Мой вариант использования - загрузить изображение из пользовательской опции загрузки из Intent Chooser. Я понимаю, что могу добавить пользовательскую опцию, добавив некоторый код, как показано ниже:

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");       
share.putExtra(Intent.EXTRA_TEXT, message);

Intent addIntent = ;//whatever you want

Intent chooser = new Intent(Intent.ACTION_CHOOSER);
chooser.putExtra(Intent.EXTRA_INTENT, share );      
chooser.putExtra(Intent.EXTRA_TITLE, "title");

Intent[] intentArray =  {addIntent }; 
chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);
startActivity(chooser);

У меня также есть функция, которая загружает изображение для меня. У меня вопрос: могу ли я определить, что пользователь выбрал / щелкнул пользовательский параметр, а затем установить обратный вызов для моей функции загрузки и продолжить операцию загрузки?

Примечание. Я не хочу запускать какие-либо новые действия во время процесса. Просто ищу указатели на то, как я мог бы перезвонить для этой пользовательской опции в селекторе.

1 ответ

Решение

Могу ли я определить, что пользователь выбрал / щелкнул пользовательский параметр, а затем установить обратный вызов для моей функции загрузки и продолжить операцию загрузки?

Только на Android 5.1+, если вы используете трехпараметрическую версию createChooser(), где вы можете поставить IntentSender он получает уведомление о выборе... и только в том случае, если под "установкой обратного вызова для моей функции загрузки напрямую и продолжением операции загрузки" вы имеете в виду "запустить действие, которое выполняет загрузку".

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

Другие вопросы по тегам