Дополнительные драйвера принтера в операционной системе Android реализуются как расширения системной службы печати. Android print service plugin должен предоставлять список настроенных (автоматически обнаруженных) принтеров и обрабатывать задания печати на выбранном их них. На этом требования к нему заканчиваются. Разработчики первых расширений не стали даже добавлять специальное намерение android.intent.action.MAIN (категории android.intent.category.LAUNCHER), считая пользователей людьми разумными, которые понимают. Получив дополнительное расширение служба печати теперь отобразит больше доступных принтеров.
Местом где встречаются программы, которым требуется печатать и доступные принтеры является специальное системное (часть операционной системы) приложение (имя пакеджа com.android.printspooler)
Как говориться, если что-то работает, то не надо это менять. Компоновка элементов управления, что в шестой версии андроида, что в самой свежей 15 одинакова. Если сперва палитра была темной с зеленой кнопкой принтера, то единственным видимое отличие введено 12-м андроиде, когда ее сделали светлой (точнее привели к общей цветовой палитре всей системы).
Как видно из скриншотов, простой пользователь мог понять, что установленное им расширение работает только в случае найденного драйвером принтера и догадываться какой из драйверов его обнаружил приходиться по иконке рядом с названием (если плагин не указывает ее явно,то используется иконка указанная как главная в его манифесте).
Частым отзывом в гугл плей было «Установил программу, а она пропала». Программистам это надоело и они добавили главный экран для приложения, чтобы иконка появлялась в лаунчере. Так как особого смысла в таком экране для них не было, на нем начали размещать краткие инструкции об использовании драйвера. Например вид главного экрана службы печати от самсунга.
При этом размещение инструкций печатать через «поделиться» не требовало их реализовывать самостоятельно. На любом андроид телефоне есть служба печати по умолчанию (package com.android.bips), в котором есть активити посредники для преобразования картинка или pdf файл в задание печати. Для пользователя это выглядит как поделиться с программой «Печать» (иконка в виде принтера).
Не подумайте, что предыдущее (просто нарисовали иконку) относиться к разработчикам самсунг, в приложение есть дополнительный функционал и именно для «Поделиться». С ним можно «поделиться текстом» и он будет распечатан.
Я последовал, другой сложившейся практике, размещению ярлыков быстрого доступа для востребованных задач печати.
Такой подход позволяет дать дополнительные возможности, которых нет возможности реализовать через штатные средства операционной системы.
Кроме не понимания со стороны пользователей. Есть и другие причины по которым требуется хотя бы один экран приложения.
- Получение необходимых разрещений (permissions)
- Обязательность включения политики конфидициальности
- Следование требований GDPRA
- Считается хорошей практикой публиковать сведения об использованном Open Source
- Принятие пользователем EULA (лицензионное соглашение с конечным пользователем)
В настоящее время не получиться опубликовать приложение без выполнения этих требований и «невидимки» вышли на свет.