Самое первое защищённое устройство (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 есть защищенные устройства, известно немногим. Защищенные устройства – это особая специализированная ниша, в которой имеют значение не только кнопки, от которых избавились в обычных смартфонах. Не только читатели могут задать вопрос: а надо ли вот это вот всё…? Может дёшево и сердито пользоваться в бизнесе типовыми потребительскими смартфонами? Стоит ли овчинка выделки следует решать, проявляя достаточную разборчивость в краткосрочных и долгосрочных эффектах (семь раз отмерь, один отрежь). Цена, в команде с иллюзией важности сиюминутных выгод, всегда играет против долгосрочных целей и реальной экономии.
Автор: pavelmedvedev79