Самое первое защищённое устройство (rugged device) Samsung появилось в далёком 2011 году. С виду укреплённый корпус и заменяемая батарея, что продлевает жизнь смартфона, но всё не так просто. Линейка rugged моделей создана для снижения расходов бизнеса при эксплуатации смартфонов в долгосрочной перспективе, потому что на производстве условия часто суровые, а отношение сотрудников к устройству не всегда бережное.
В этой статье я опишу малоизвестные подробности использования смартфонов в бизнесе и расскажу о модели защищенного смартфона Galaxy XCover7, а также о трёх способах программировать кнопку XCover на его левой стороне.

Краткий обзор устройства и MIL-STD-810H
Хотелось бы начать с неочевидных конкретных кейсов, так как защищённость – это не просто укреплённый и необычный на вид корпус. На производстве бывает шумно, поэтому динамики устройств для бизнеса звучат громче. Touchscreen готов для работы в перчатках, а также для работы под дождём и снегом (real life). Настройки такие есть, см. ниже.


Понятно, что возможность замены батареи продлевает срок службы смартфона: «устала» и просела с годами - заменили и никаких проблем. Однако главная тема реальной долговечности - это «разматывание» Type-C из-за постоянных и не самых аккуратных подключений к зарядке (сотрудники не бережны, да и вообще). Для этого около Type-C входа есть POGO pin разъемы (видны на рисунке ниже), а также специальные зарядные устройства, рассчитанные на одно или несколько (до двадцати) устройств, которые просто удобнее и надёжнее в повседневном использовании. Это доп. аксессуар.

Какие ещё потребности бывают и как их решает устройство?
eSIM на корпоративном устройстве – это реально важно, поэтому добавили. Производство, менеджмент, логистика и администрирование пластика стоят приличных денег, если посчитать. А ещё бывают находчивые сотрудники, которые вынимают симку из устройства и гоняют трафик в личных целях. Если люди что-то могут, они это делают. Тоже real life.
Что по параметрам?
Батарея (15W) 4050mAh (хотелось бы побольше, но это влияет на размеры и вес, а удобство важно)
если реально автономность тема, то батарейку можно менять на ходу (заменимость)
Corning® Gorilla® Glass Victus®+ (и это хорошо)
5G и Android 14 (и это актуально)
Экран 6.6 дюймов
Разрешение экрана FHD+
Память 6Gb (для большинства бизнес задач хватит)
Хранение 128Gb с расширением до 1Тб
Габариты: 169.0 x 80.1 x 10.2мм, 240 г.
Wi-Fi : 802.11 a/b/g/n/ac 2.4G+5GHz, Wi-Fi Direct
Bluetooth : BT5.3
USB : USB 2.0
GNSS Support : GPS, Glonass, Beidou, Galileo, QZSS
Сенсоры: Accelerometer, Gyro, Geomagnetic, Light, Proximity
NFC : UICC (в B2B бывает нужно)
Производительность ограничена требованиями защищенности и здравым смыслом. Это не красивый и модный флагман, а рабочая лошадка, задача которой – «пахать». Поэтому электронные компоненты спроектированы так, чтобы смартфон проходил более суровые, чем IP68, тесты стандарта MIL-STD-810H
Приведу самые занятные примеры из них:
Вибрации по трём осям от 20 до 20000Гц в течение часа по каждой
Обдув 8м/c песком и пылью 10г/м3 в течение часа каждой из 6 сторон при 25 и 65 °С
Выдержка в камерах по 2 часа при температурах -51 °С и 63 °С и разном давлении
Резкие температурные изменения от -20 °С до +60 °С
Реакции на удар по всем ��сям с разными параметрами
Трёхдневные испытания солёным туманом и ледяным дождём
Бросание на фанеру с высоты 1.5м каждой гранью и стороной 26 раз
Наращивание льда до 6мм при температуре -10 °С
Циклы испытаний солнечным облучением с макс температурой +54° С и ветром
Помню, с выходом первых складных флагманов Flip и Fold была тема, что не нужно с ними грубо обращаться, постоянно швыряя на кровать. При большой удаче можно дошвыряться. XCover создан для гораздо менее нежных условий, чем флагманы. Откуда солёный туман? Морские порты и перевозки. Ледяной дождь? Приёмка грузов и внешние осмотры могут происходить на улице в любую погоду. Склады с хранением заморозки. Падения? Да сколько угодно. Условия пустынь, полных песка и ветра, или сравнимые с арктическими, в добывающей промышленности бывают повсеместно.
Программирование и настройка
Каким образом можно назначать желаемую функциональность для XCover кнопки? Конечно, в этом участвует ваше приложение, но как связывать действия с кнопками для вызова соответствующих функций?
Первый способ - это ручная настройка в разделе Settings > Advanced Settings > XCover. В приложение включают логику обработки нажатия и добавляют метаданные в AndroidManifest.xml, чтобы оно оказалось в разделе среди доступных
<meta-data android:name="com.samsung.android.knox.intent.action.HARD_KEY_PRESS" android:value="true" /> <receiver android:name=".receiver" android:exported="true"> <intent-filter> <action android:name="com.samsung.android.knox.intent.action.HARD_KEY_REPORT" /> </intent-filter> </receiver>

Когда пользователь нажимает или отпускает XCover кнопку, устройство передает intent со следующими свойствами:
Action | "com.samsung.android.knox.intent.action.HARD_KEY_REPORT" |
Extra key settings | "com.samsung.android.knox.intent.extra.KEY_CODE" |
В KNOX SDK предопределены константы, которые используются для определения кнопок и нажатий
Public static final int KEYCODE_PTT | 1015 (0x000003f7) |
Public static final int KEYCODE_EMERGENCY | 1079 (0x00000437) |
Public static final int KEY_ACTION_DOWN (key press) | 1 (0x00000001) |
Public static final int KEY_ACTION_UP (key release) | 2 (0x00000002) |
Ниже пример кода, который разбирает intent для кнопки XCover и проверяет, нажата она была или отпущена
String intentAction = intent.getAction(); if ("com.samsung.android.knox.intent.action.HARD_KEY_REPORT".equals(intentAction)) { int keyCode = intent.getExtra(com.samsung.android.knox.intent.extra.KEY_CODE) int keyReportType = intent.getExtra(com.samsung.android.knox.intent.extra.KEY_REPORT_TYPE) if (keyCode == KEYCODE_PTT && keyReportType == 1) { // XCover key pressed } else if (keyCode == KEYCODE_PTT && keyReportType == 2) { // XCover key released } }
Второй способ состоит в том, что разработчики приложения определяют собственные intents в манифесте
<receiver android:name=".PTTKeyReceiver" android:permission="com.samsung.android.knox.permission.KNOX_CUSTOM_SETTING" android:exported="true" > <intent-filter> <action android:name="com.vendor.intent.action.PTT_PRESS" /> <action android:name="com.vendor.intent.action.PTT_RELEASE" /> </intent-filter> </receiver>
KNOX_CUSTOM_SETTING permission добавляют для того, чтобы быть уверенным, что приложение будет о��идать intent от специализированных сервисов платформы, таких как Knox Service Plugin или Knox Configure, через которые IT администратор компании настраивает соответствие с приложением. Им нужно сообщить обрабатываемые intents.

Особенностью Knox Configure является возможность использования сервиса без MDM, с возможностью автоматической (Out-of-The-Box) раскатки настроек, через загрузку в сервис серийных номеров официальным реселлером или QR код.

Третий способ – это использование KNOX SDK for ISV (Independent Software Providers), который не требует активации KNOX лицензий на устройстве, если оно находится в режиме Device Owner.
Значения кодов для hardware кнопок на устройстве:
Volume up: 24
Volume down: 25
Power (side): 26
Push-to-Talk (XCover): 1015
Top (Emergency, Xcover): 1079
Последняя кнопка есть на XCover6 Pro, как я отмечал под первой картинкой в статье. Её часто называют Emergency, потому что используют для SOS оповещений о нештатных ситуациях на производстве
Uri uri = Uri.parse("content://com.samsung.android.knox.sdk/config/settings"); ContentValues contentValues = new ContentValues(); contentValues.put("component-name", "com.android.settings/com.android.settings.Settings"); contentValues.put("event", "long-press"); contentValues.put("key-code", "24"); contentValues.put("action", "activity"); String selection = "key=?"; String[] selectionArgs = new String[] {"hardware-key"}; mContext.getContentResolver().update(uri, contentValues, selection, selectionArgs);
Как применяют
Самая известная функциональность - это рация Push-To-Talk или Walkie-Talkie. Часто реализуют SOS функциональность, связывающую с диспетчером и передающую данные о местоположении, а также быстрое считывание данных штрих кодов для заполнения чек листов при учете товаров. Для этого, конечно, тоже используется отдельное приложение - Knox Capture. Опция доступна и с клавиатуры, но через кнопку многим удобнее. Кстати, Knox Capture входит в сервис Knox Suite, годовая лицензия на который идет в комплекте с устройством, в нее включены Knox Manage (MDM) и другие полезные KNOX сервисы.

Приведу несколько отраслевых примеров:
Ритейл. Самая крупная известная сделка — это покупка Walmart 740,000 защищенных устройств Samsung, которые, в том числе, используются для функции Push-to-Talk с кнопкой XCover. Ещё одним применением кнопки стала её интеграция с Knox Capture для автоматизации заполнения форм данными со штрих кодов.
Транспорт. Вопреки распространенному мнению «если автомобиль, то навигатор, а значит планшет», на самом деле, оперативная связь с водителем, который не всегда находится в кабине, гораздо важнее. Он должен постоянно иметь устройство с собой, что в случае с планшетом неудобно. А кнопка нужна для реализации экстренной связи с диспетчером.
В производстве, строительстве и добывающей промышленности кнопка нужна не только для рации push-to-talk, но и для обеспечения безопасности, то есть SOS вызова в экстренных ситуациях. Обычно операторы организуют заказчикам Private LTE сети, в которых работает смартфон, и это распространенная практика для Push-To-Talk и XCover. И наличие джек разъема тут тоже пригодится, чтобы подключить любые проводные наушники или так называемую тангенту.

Выводы
О том, что у Samsung есть защищенные устройства, известно немногим. Защищенные устройства – это особая специализированная ниша, в которой имеют значение не только кнопки, от которых избавились в обычных смартфонах. Не только читатели могут задать вопрос: а надо ли вот это вот всё…? Может дёшево и сердито пользоваться в бизнесе типовыми потребительскими смартфонами? Стоит ли овчинка выделки следует решать, проявляя достаточную разборчивость в краткосрочных и долгосрочных эффектах (семь раз отмерь, один отрежь). Цена, в команде с иллюзией важности сиюминутных выгод, всегда играет против долгосрочных целей и реальной экономии.
