Простое добавление кнопки шаринга

Добавить кнопку шаринга на панель инструментов стало еще проще с появлением класса ActionProvider в Android 4.0 (API 14). ActionProvider описывает внешний вид и поведение кнопки. Вы просто предоставляете классу ShareActionProvider намерение с действием “поделиться”, а он делает все остальное.

Примечание: ShareActionProvider стал доступен начиная с API 14.

Изменяем меню

ShareActionProvider в галерее

Рисунок 1. ShareActionProvider в галерее.

Чтобы использовать ShareActionProvider, добавьте атрибут android:actionProviderClass в соответствующий пункт <item> вашего файла меню:

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

Создаем намерение расшаривания

Для использования ShareActionProvider, необходимо создать намерение расшаривания. Это намерение должно быть таким, как описано в уроке Отправка простых данных другим приложениям, должно использовать действие ACTION_SEND и передавать дополнительные данные с помощью расширений EXTRA_TEXT и EXTRA_STREAM. Чтобы назначить намерение, необходимо сначала найти соответствующий пункт во время создания меню в явлении или фрагменте. Затем нужно вызвать метод MenuItem.getActionProvider(), чтобы получить экземпляр ShareActionProvider. Используйте метод setShareIntent(), чтобы связать намерение расшаривания с пунктом меню. Пример:

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

Для дальнейшего обсуждения класса ShareActionProvider, смотрите раздел Панель инструментов руководства по API.

Добавить комментарий