Обратный вызов для пользовательского элемента на экране выбора объекта
Мой вариант использования - загрузить изображение из пользовательской опции загрузки из 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
направить пользователя к запрошенной активности.