KeyGuard
![]()
Uptodown — это мультиплатформенный магазин приложений, который специализируется на Android. Наша цель — предоставить бесплатный и открытый доступ к большому каталогу приложений, а также легальную платформу для их распространения, доступную из любого браузера, вместе с официальным нативным приложением.
ПРОДУКТЫ И УСЛУГИ
- О нас
- Опубликуйте приложение
- Реклама
- Часто задаваемые вопросы и поддержка
- Работа у нас
- Корпоративный блог
- Условия предоставления услуг для пользователей
- Политика конфиденциальности
- Параметры Cookie
- Условия предоставления услуг для разработчиков
- DMCA
Как работает SystemUI в Android

В этой статье я разберу архитектуру и принцип работы основного приложения Android — SystemUI. Меня заинтересовала эта тема, потому что мне интересно, как устроена система, которой пользуется такое огромное количество пользователей и для которой ежедневно выкатываются тысячи приложений в Google Play или просто на просторы интернета. Помимо этого меня интересует вопрос информационной безопасности Android и создаваемых под него приложений.
В системе Android, SystemUI — это приложение, путь к исходному коду которого находится в platform_frameworks_base/packages/SystemUI/, на девайсе оно находится в system/priv-app/-SystemUI.
priv-app — это каталог, где хранятся привилегированные приложения. К слову, по пути system/app лежат предустановленные приложения, а обычные приложения, которые мы устанавливаем на свой девайс самостоятельно, хранятся в data/app.
Тут сразу возникает вопрос: почему нельзя засунуть все предустановленные и привилегированные приложения в один каталог, зачем нужно это разделение?
Дело в том, что некоторые приложения более системные, чем другие:) И это разделение необходимо для того чтобы уменьшить покрытие эксплойтами системных приложений, для получения доступа к защищенным операциям. Можно создавать приложение, которое будет иметь специальный ApplicationInfo.FLAG_SYSTEM и в системе получит больше прав, однако apk файл с таким разрешением будет помещен в раздел system.
Итак, SystemUI — это apk-файл, который по сути своей обычное приложение. Однако, если посмотреть на сложное устройство SystemUI, перестает казаться, что это всего лишь простое приложение, верно?
Данное приложение выполняет весьма важные функции:
- Навигация
- Недавние приложения
- Быстрые настройки
- Панель уведомлений
- Экран блокировки
- Регулятор громкости
- Главный экран
- .
Запуск SystemUI
Как я и говорила выше, SystemUI не похож на обычное приложение, так что его запуск не сопровождается запуском активности, как это происходит у большинства приложений. SystemUI — это глобальный пользовательский интерфейс, который запускается во время процесса загрузки системы и не может быть завершен.
Если мы залезем в SystemServer, который является одним из двух столпов в мире Android (второй — Zygote, но об этом я расскажу как-нибудь в другой раз), то мы можешь найти место, где стартует SystemUI при загрузке системы.
static final void startSystemUi(Context context, WindowManagerService windowManager) < Intent intent = new Intent(); intent.setComponent(new ComponentName("com.android.systemui", "com.android.systemui.SystemUIService")); intent.addFlags(Intent.FLAG_DEBUG_TRIAGED_MISSING); //Slog.d(TAG, "Starting service: " + intent); context.startServiceAsUser(intent, UserHandle.SYSTEM); windowManager.onSystemUiStarted(); >
Тут мы видим как запускается сервис SystemUI с помощью непубличного API startServiceAsUser. Если бы вы захотели использовать это, то вам пришлось бы обратиться к рефлексии. Но если вы решите использовать reflection API в Android — подумайте несколько раз, стоит ли это того. Подумайте раз сто:)
Итак, тут создается отдельный процесс для приложения и по факту каждый раздел SystemUI является отдельным сервисом или независимым модулем.
public abstract class SystemUI implements SysUiServiceProvider < public Context mContext; public Map, Object> mComponents; public abstract void start(); protected void onConfigurationChanged(Configuration newConfig) < >public void dump(FileDescriptor fd, PrintWriter pw, String[] args) < >protected void onBootCompleted() < >@SuppressWarnings("unchecked") public T getComponent(Class interfaceType) < return (T) (mComponents != null ? mComponents.get(interfaceType) : null); >public void putComponent(Class interfaceType, C component) < if (mComponents != null) < mComponents.put(interfaceType, component); >> public static void overrideNotificationAppName(Context context, Notification.Builder n, boolean system) < final Bundle extras = new Bundle(); String appName = system ? context.getString(com.android.internal.R.string.notification_app_name_system) : context.getString(com.android.internal.R.string.notification_app_name_settings); extras.putString(Notification.EXTRA_SUBSTITUTE_APP_NAME, appName); n.addExtras(extras); >>
Метод start() вызывается для запуска каждой службы, которые перечислены ниже.
- com.android.systemui.Dependency
- com.android.systemui.util.NotificationChannels
- com.android.systemui.statusbar.CommandQueue$CommandQueueStart
- com.android.systemui.keyguard.KeyguardViewMediator
- com.android.systemui.recents.Recents
- com.android.systemui.volume.VolumeUI
- com.android.systemui.stackdivider.Divider
- com.android.systemui.SystemBars
- com.android.systemui.usb.StorageNotification
- com.android.systemui.power.PowerUI
- com.android.systemui.media.RingtonePlayer
- com.android.systemui.keyboard.KeyboardUI
- com.android.systemui.pip.PipUI
- com.android.systemui.shortcut.ShortcutKeyDispatcher
- @string/config_systemUIVendorServiceComponent
- com.android.systemui.util.leak.GarbageMonitor$Service
- com.android.systemui.LatencyTester
- com.android.systemui.globalactions.GlobalActionsComponent
- com.android.systemui.ScreenDecorations
- com.android.systemui.fingerprint.FingerprintDialogImpl
- com.android.systemui.SliceBroadcastRelayHandler
Регулирование громкости
Мы регулярно пользуемся кнопками громкости на своих устройствах, но не задумываемся какие процессы должны произойти в системе для того чтобы мы могли прибавить или убавить звук. Операция кажется довольно простой на словах, но если заглянуть в VolumeUI, который находится в подпапке SystenUI/volume, в разных режимах интерфейс имеет свою вариацию.

Я уже говорила о том, что сервисы SystemUI запускаются методом start(). Если мы посмотрим на класс VolumeUI, то он тоже наследуется от SystemUI.
public class VolumeUI extends SystemUI < private static final String TAG = "VolumeUI"; private static boolean LOGD = Log.isLoggable(TAG, Log.DEBUG); private final Handler mHandler = new Handler(); private boolean mEnabled; private VolumeDialogComponent mVolumeComponent; @Override public void start() < boolean enableVolumeUi = mContext.getResources().getBoolean(R.bool.enable_volume_ui); boolean enableSafetyWarning = mContext.getResources().getBoolean(R.bool.enable_safety_warning); mEnabled = enableVolumeUi || enableSafetyWarning; if (!mEnabled) return; mVolumeComponent = new VolumeDialogComponent(this, mContext, null); mVolumeComponent.setEnableDialogs(enableVolumeUi, enableSafetyWarning); putComponent(VolumeComponent.class, getVolumeComponent()); setDefaultVolumeController(); >…
Тут мы видим что с помощью mEnabled мы определяем, следует ли нам показывать панель с настройкой звука. И судя по VolumeDialogComponent, VolumeUI отображает звуковую панель в виде диалога. Но все действия относительно нажатия на клавиши громкости обрабатываются в PhoneWindow.
protected boolean onKeyDown(int featureId, int keyCode, KeyEvent event) < . switch (keyCode) < case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: case KeyEvent.KEYCODE_VOLUME_MUTE: < // If we have a session send it the volume command, otherwise // use the suggested stream. if (mMediaController != null) < mMediaController.dispatchVolumeButtonEventAsSystemService(event); >else < getMediaSessionManager().dispatchVolumeKeyEventAsSystemService(event, mVolumeControlStreamType); >return true; > . protected boolean onKeyUp(int featureId, int keyCode, KeyEvent event) < final KeyEvent.DispatcherState dispatcher = mDecor != null ? mDecor.getKeyDispatcherState() : null; if (dispatcher != null) < dispatcher.handleUpEvent(event); >//Log.i(TAG, "Key up: repeat=" + event.getRepeatCount() // + " flags=0x" + Integer.toHexString(event.getFlags())); switch (keyCode) < case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: < // If we have a session send it the volume command, otherwise // use the suggested stream. if (mMediaController != null) < mMediaController.dispatchVolumeButtonEventAsSystemService(event); >else < getMediaSessionManager().dispatchVolumeKeyEventAsSystemService( event, mVolumeControlStreamType); >return true; > …
Насколько мы видим, KEYCODE_VOLUME_UP (+) не обрабатывается и перейдет в обработку KEYCODE_VOLUME_DOWN (-). И в обоих событиях, как в onKeyDown, так и в onKeyUp вызывается метод dispatchVolumeButtonEventAsSystemService.
public void dispatchVolumeButtonEventAsSystemService(@NonNull KeyEvent keyEvent)
Итак, тут у нас вызывается метод adjustVolume, для того чтобы мы могли проверить наш direction, которому будет присвоен параметр события.
В итоге когда мы доберемся до AudioService, где будет вызван sendVolumeUpdate, где помимо вызова метода postVolumeChanged, будет установлен интерфейс HDMI.
// UI update and Broadcast Intent protected void sendVolumeUpdate(int streamType, int oldIndex, int index, int flags) < . mVolumeController.postVolumeChanged(streamType, flags); >private int updateFlagsForSystemAudio(int flags) < . if (mHdmiSystemAudioSupported && ((flags & AudioManager.FLAG_HDMI_SYSTEM_AUDIO_VOLUME) == 0)) < flags &= ~AudioManager.FLAG_SHOW_UI; >. > return flags; > public void postVolumeChanged(int streamType, int flags)
RingtonePlayer
RingtonePlayer в Android выполняет роль проигрывателя. Он так же наследуется от SystemUI и в методе start() мы видим:
@Override public void start()
Здесь у нас устанавливается mCallback, который по сути является экземпляром IRingtonePlayer.
private IRingtonePlayer mCallback = new IRingtonePlayer.Stub() < @Override public void play(IBinder token, Uri uri, AudioAttributes aa, float volume, boolean looping) throws RemoteException < . >@Override public void stop(IBinder token) < . >@Override public boolean isPlaying(IBinder token) < . >@Override public void setPlaybackProperties(IBinder token, float volume, boolean looping) < . >@Override public void playAsync(Uri uri, UserHandle user, boolean looping, AudioAttributes aa) < . >@Override public void stopAsync() < . >@Override public String getTitle(Uri uri) < . >@Override public ParcelFileDescriptor openRingtone(Uri uri) < . >>;
В итоге можно управлять RingtonePlayerService с помощью Binder для воспроизведения звуковых файлов.
PowerUI
PowerUI отвечает за управление питанием и уведомлениями. Аналогично наследуется от SystemUI и имеет метод start().
public void start() < mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); mHardwarePropertiesManager = (HardwarePropertiesManager) mContext.getSystemService(Context.HARDWARE_PROPERTIES_SERVICE); mScreenOffTime = mPowerManager.isScreenOn() ? -1 : SystemClock.elapsedRealtime(); mWarnings = Dependency.get(WarningsUI.class); mEnhancedEstimates = Dependency.get(EnhancedEstimates.class); mLastConfiguration.setTo(mContext.getResources().getConfiguration()); ContentObserver obs = new ContentObserver(mHandler) < @Override public void onChange(boolean selfChange) < updateBatteryWarningLevels(); >>; final ContentResolver resolver = mContext.getContentResolver(); resolver.registerContentObserver(Settings.Global.getUriFor( Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL), false, obs, UserHandle.USER_ALL); updateBatteryWarningLevels(); mReceiver.init(); showThermalShutdownDialog(); initTemperatureWarning(); >
Как мы видим из приведенного выше кода, происодит подписка на изменения Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, а после — вызов mReceiver.init().
public void init() < // Register for Intent broadcasts for. IntentFilter filter = new IntentFilter(); filter.addAction(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED); filter.addAction(Intent.ACTION_BATTERY_CHANGED); filter.addAction(Intent.ACTION_SCREEN_OFF); filter.addAction(Intent.ACTION_SCREEN_ON); filter.addAction(Intent.ACTION_USER_SWITCHED); mContext.registerReceiver(this, filter, null, mHandler); >
Тут регистрируется широковещательный приемник, с помощью которого происходит отслеживание изменений.
Задачи
Recents — это основная и часто используемая функция в мобильных устройствах на базе Android.
Главные функции:
- Отображение всех задач
- Переключение между задачами
- Удаление задач
Помимо этого Recents так же наследуется от SystemUI. В RecentsActivity происходит создание и обновление последних задач, чтобы мы могли увидеть их на нашем экране.

А в с помощью RecentTaskInfo мы можем получить информацию о конкретной задаче.
public static class RecentTaskInfo implements Parcelable < public int id; public int persistentId; public Intent baseIntent; public ComponentName origActivity; public ComponentName realActivity; public CharSequence description; public int stackId; .
Вообще, запущенные задачи можно вынести в отдельную тему. Я изучила ее со всех сторон, так как хотела размывать экран приложения перед переходом приложения в background, чтобы в RecentsTask отображалась нечитаемая версия снапшота. Однако, проблема заключается в том, что снапшот приложения берется раньше, чем вызывается onPause(). Эту проблему можно решить несколькими способами. Либо выставлять флаг, чтобы система просто скрывала содержимое экрана с помощью
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
О чем я говорила в предыдущей статье, посвященной как раз снапшотам.
Можно вообще сделать так, чтобы конкретная activity приложения не отображалось в задачах, проставив в манифесте
android:excludeFromRecents = "true"
Либо можно воспользоваться хитростью с помощью
Intent.FLAG_ACTIVITY_MULTIPLE_TASK
Можно задать основной активности выше приведенный флаг excludeFromRecents = true, для того чтобы ее экран отсутствовал в запущенных задачах, но во время загрузки приложения запустить отдельную задачу, которая будет показывать либо размытый скриншот с основной активности, либо любое другое изображение. Более подробно, как это можно сделать описано в официальной документации на примере Google Drive.
Экран блокировки
Keyguard уже посложнее всех вышеприведенных модулей. Он представляет из себя сервис, который запускается в SystemUI, а управляется при помощи KeyguardViewMediator.
private void setupLocked() < . // Assume keyguard is showing (unless it's disabled) until we know for sure, unless Keyguard // is disabled. if (mContext.getResources().getBoolean( com.android.keyguard.R.bool.config_enableKeyguardService)) < setShowingLocked(!shouldWaitForProvisioning() && !mLockPatternUtils.isLockScreenDisabled( KeyguardUpdateMonitor.getCurrentUser()), mAodShowing, mSecondaryDisplayShowing, true /* forceCallbacks */); >else < // The system's keyguard is disabled or missing. setShowingLocked(false, mAodShowing, mSecondaryDisplayShowing, true); >. mLockSounds = new SoundPool(1, AudioManager.STREAM_SYSTEM, 0); String soundPath = Settings.Global.getString(cr, Settings.Global.LOCK_SOUND); if (soundPath != null) < mLockSoundId = mLockSounds.load(soundPath, 1); >. int lockSoundDefaultAttenuation = mContext.getResources().getInteger( com.android.internal.R.integer.config_lockSoundVolumeDb); mLockSoundVolume = (float)Math.pow(10, (float)lockSoundDefaultAttenuation/20); . >
Однако на самом деле KeyguardService самостоятельно не работает с интерфейсом экрана блокировки, он лишь передает информацию в модуль StatusBar, где уже и производятся действия относительно визуального вида экрана и отображения информации.
Панель уведомлений
- Инициализация SystemBars
- Отображение уведомлений
private void createStatusBarFromConfig()
То мы видим ссылку на ресурс из которого читается имя класса и создается его экземпляр.
com.android.systemui.statusbar.phone.StatusBar
Таким образом мы видим что тут вызывается StatusBar, который будет работать с выводом уведомлений и UI.
Я думаю никто и не сомневался в том, что Android устроен очень сложно и заключает в себе много хитростей, которые описаны в огромном количестве строчек кода. SystemUI является одной из самых важных частей этой системы и мне понравилось изучать ее. Из-за того что материала на эту тему очень мало, если вы заметите какие-либо ошибки, прошу исправить меня.
P.S. Подбор материала и более короткие статьи я всегда выставляю на @paradisecurity в телеграм.
- android
- systemui
- разработка по
- мобильная разработка
- архитектура android-приложений
- Разработка мобильных приложений
- Разработка под Android
Com android keyguard что это
Для каждого пользователя системы хранения ключей создается уникальный групповой или персональный уровень доступа к ключам. Уровень доступа представляет собой совокупность ключей или иерархических списков ключей, а также привязку к временным зонам.

1.2. Как задать временной интервал доступа к ключу
Уровни доступа к ключам имеют поле «Временная зона». Временные зоны могут включать 10 записей временных интервалов, включающих в себя время, день недели, праздники, выходные, четные и нечетные дни, в том числе индивидуальный список дней. Если требуется более, чем 10 временных интервалов, то это можно сделать при помощи дополнительной записи в уровне доступа, при этом отсутствуют ограничения по количеству записей.

1.3. Как задать индивидуальный график сотруднику
Помимо индивидуального времени можно задать индивидуальный список рабочих дней. Например создать список «Первый рабочий день» для того, чтобы каждый первый рабочий день месяца сотрудник мог получить доступ в технологическое помещение для выполнения профилактических работ. Все списки записываются в аппаратный журнал системы хранения ключей. Ведение журнала в электронной ключнице не зависит от того, подключен ли сервера с программным обеспечением. Программное обеспечение необходимо только для формирования базы данных и генерации отчетов.

1.4. Как выдать сразу группу ключей
Электронная ключница с контролем доступа KeyGuard понимает иерархические списки ключей (группы). Это означает возможность создания списка ключей, который, в свою очередь, содержит вложенные списки (до 7 уровней вложения). Каждый список имеет свое название. Для выдачи ключей по списку необходимо включить этот список в уровень доступа к ключам пользователя. При необходимости получить ключи по списку необходимо в меню ключницы выбрать раздел работы со списками, выбрать необходимый список из таблицы и получить ключи.

1.5. Как получить информацию о несданных ключах
В программном обеспечении, поставляемом в комплекте с электронной ключницей с контролем доступа, необходимо открыть «Таблицу объектов системы» и нажать кнопку быстрого фильтра «Выданные ключи». Система отфильтрует список, оставив только ключи, отсутствующие на текущий момент в ключнице. Тут же доступна дополнительная информация о последних событиях - кто и когда взял и сдал ключ, быстрый фильтр и т.д.

Кроме того, система работает с графическими планами объекта, что позволяет установить значки ключей на план и визуально контролировать их состояние с привязкой к конкретным этажам и помещениям объекта.

1.6. Как активировать тревогу, если ключ не сдан вовремя
В настройках ключа есть возможность указать, что ключ должен быть возвращен в систему хранения ключей с контролем доступа KeyGuard до или в течение определенного времени. В случае, если ключ не возвращен в заданный промежуток времени, система активирует тревогу. Тревогу может как отображаться на экране компьютера системы мониторинга, так и отправляться в автоматическом режиме в виде SMS на запрограммированные в системе телефонные номера или на указанные в настройках email.

1.7. Как быстро получить требуемый ключ
1. Если вам разрешено взять всего один ключ. То вам достаточно приложить карточку к правому считывателю. И если ключ на месте, система сразу откроет дверь и разблокирует и подсветит ячейку где ваш ключ находится.
2. Если вы имеете права брать несколько ключей, то система выдаст меню с таблицей ваших ключей. Вы можете пролистать таблицу по страницам или воспользоваться клавишами фильтр и поиск. Система выделяет цветом выбранные ключи, выданные ключи, заблокированные ключи, запрещенные по времени ключи т.д.
3. Поиск ключа возможен как по названию, так и по номеру помещения. Просто наберите первые цифры (символы) и система отфильтрует таблицу.

1.8. Могу ли я найти ключ по названию
Каждый ключ может иметь название и номер. Номер ключа числовой, но может иметь одну букву латинского или русского алфавита в конце. К примеру 101A, 101Б. Поиск работает и по названию и по номеру. Просто наберите любые символы. Все совпадающие варианты будут отфильтрованы и показаны на экране. Дать команду на выдачу ключа ключ можно непосредственно из меню поиска или вернуться обратно в основное меню для продолжения работы.

1.9. Как быстро узнать, кто взял ключ
Данная информация доступна непосредственно с панели ключницы. Поднесите свою карту, выберите интересующий вас ключ из таблицы (конечно, этот ключ должен быть разрешен для Вас), нажмите кнопку «История». Вы увидите последние 16 событий по данному ключу. События включают действие, время, Фамилию И.О. и телефон сотрудника (если эти данные были разрешены для сохранения в базу согласно закона о защите персональных данных). Отчеты за более длительное время доступны из программного обеспечения.
1.10. Как получить отчет кто брал ключ
Последние 16 событий доступны непосредственно с панели ключницы. Из программы вы можете получить более детальный отчет. Выберите ключ или список ключей, выберите отдел или конкретного пользователя, выберите интервал времени. Отчет можно экспортировать в файлы разных форматов или вывести на печать. Есть возможность сохранить отчет как шаблон и запускать его автоматически.

1.11. Могу ли я использовать данные по выдаче/сдаче ключей для расчета рабочего времени
В программе имеется возможность расчета рабочего времени, в том числе не только для сотрудников, имеющих права брать ключи. В этом случае все сотрудники должны регистрировать уход – приход на считывателях ключницы. Подсчитанное рабочее время можно выводить непосредственно на дисплей ключницы OnLine.
1.12. Какая база данных используется
Программное обеспечение использует бесплатную базу данных FireBird. База защищена паролем. Для ответственных применений рекомендуется использовать шифрование стандартными или другими средствами Windows.
1.13. Могу ли я подключить систему хранения ключей через интернет
Как и в случае любой другой системы безопасности, строго не рекомендуется прямой выход в незащищенные сети. Система имеет определённый уровень защиты, но при использовании открытых каналов строго рекомендуется организовать защиту любыми стандартными способами (VPN канал и другие).
1.14. Какой объем памяти пользователей и памяти событий
Суммарное количество ячеек памяти - 200 000. Количество ячеек памяти может быть увеличено по запросу при заказе оборудования. Посредством настроек системы вы можете самостоятельно изменить распределение этой памяти между пользователями и событиями. Например, можно выделить 100 000 ячеек дли хранения данных пользователей и другой конфигурации и 100 000 ячеек для хранения событий.
Также в системе есть память событий на каждый ключ. Т.е. система помнит последние события по каждому ключу вне зависимости от того, как давно это событие произошло.
1.15. Возможно ли изменить язык работы системы
Система позволяет переключать язык интерфейса в режиме OnLine. просто укажите язык в настройках карты доступа и язык вывода на экран будет изменяться в зависимости от используемой карты доступа автоматически.
2. KeyGuard - Технические особенности электронной ключницы
2.1. Есть ли антивандальное исполнение
Система может поставлять с полностью металлической дверцей из стали толщиной 2 мм для системы на 50 ключей и 1.5 мм для 100 ключей.
2.2. Насколько прочное стекло дверцы ключницы
Прозрачная дверца выполнена из поликарбоната - самого прочного материала из прозрачных пластиков. Возможна поставка сплошной дверцы целиком из металла.
2.3. Могу ли я заказать ключницу без дверцы
Да, возможно поставка ключницы без дверцы.
2.4. Могу ли я выбрать цвет корпуса
Поставка со склада осуществляется на выбор в двух цветовых вариантах - темный серебристый 5359АО445 и светлый RAL7038. По запросу возможно изготовление электронных ключниц, выполненных в цветовом решении, соответствующем Вашему дизайн-проекту.
2.5. Можно ли закрепить панель управления сбоку
Да в комплекте поставки идут два кронштейна - один для крепления под 45° в нижней части ключницы, второй для крепления с правой стороны корпуса.
2.6. Какое электопитание у системы и есть ли резервный источник
Питание системы осуществляется от сети 220В (допустимый диапазон питающего напряжения 100В – 250В), максимальное энергопотребление - 60 Вт. В комплекте идут аккумуляторные батареи, время автономной работы от аккумуляторов - до 24 часов. Система автоматически заряжает и тестирует аккумуляторные батареи. Электронная ключница с контролем доступа KeyGuard постоянно контролирует состояние аккумуляторных батарей и, если емкость батарей со временем упадет до критического уровня, система выдаст неисправность аккумуляторов и выведет сообщение о необходимости их замены. Для обеспечения минимальной глубины корпуса системы хранения ключей используются два аккумулятора типа Fiamm FG10451 на 6В.
2.7. Как извлечь ключи в случае отключения питания
При отключении основного питания и разряде аккумуляторных батарей система остается в заблокированном виде. Для получения ключей потребуется открыть замок дверцы ключом аварийного открытия, отвинтить два винта фиксации внутренней дверцы, открыть замок внутренней дверцы тем же ключом и разблокировать гнезда ключей, потянув за штыри, выступающие из соленоидов.
2.8. Можно ли установить электронную ключницу заподлицо в стену
Поворотная стойка дверцы не позволяет полностью утопить ключницу в стену. Возможно только утопить ключницу так, чтобы корпус выступал из стены всего на 55 мм . Свяжитесь с нами, если потребуются декоративные накладки для такого рода монтажа.
2.9. Нужно ли вызывать специалиста для монтажа и запуска системы
Монтаж системы предельно прост. Вы можете запустить систему самостоятельно.
1. Убедитесь что стена для крепления ключницы выдержит нагрузку в 40 кг.
2. Просверлите 4 отверстия и повесьте основной блок.
3. Привинтите один из двух кронштейнов, поставляемых в комплекте (для установки снизу или для монтажа с правой стороны корпуса) и подключите панель управления (один разъем).
4. Подключите электропитание 220В, заземление и наденьте клемму аккумулятора.
5. Включите режим настройки системы (кнопка на плате блока питания внутри основного блока), настройте адреса устройства и сервера (см инструкцию).
Программирование осуществляется при помощи программы, поставляемой в комплекте (смотрите видео уроки на нашем сайте).
2.10. Насколько сложно вскрыть ключницу
Система хранения ключей не является сейфом. В то же время мы приняли дополнительные меры для защиты от вскрытия. Дверца оборудована датчиком, личинка замка выполнена из высокопрочной стали и имеет защиту от высверливания, замок защищает дополнительная накладная панель. Для обеспечения безопасности на объекте рекомендуем вам интегрировать систему хранения ключей с охранной сигнализацией. В этом случае только авторизированный доступ к системе выдаст команду на отключение охранной сигнализации, а несанкционированный доступ активизирует тревогу.
2.11. Сработает ли тревога в случае вскрытия дверцы ключницы
Система имеет двойную защиту от вскрытия. Штатный магнитоконтакт показывает положение дверцы, дополнительный магнитоконтакт анализирует внешнее магнитное поле. Если злоумышленник попытается шунтировать внутренний магнитоконтактный датчик внешним магнитом – сработает дополнительный контакт. Выход тревоги можно подключить на систему охраны объекта или увидеть срабатывание тревоги в программе мониторинга тревог.
2.12. Можно ли подключить систему к видеонаблюдению
Ключница укомплектована 5 выходами (4 оптронных реле и одно реле 220В 5A), каждый выход может быть настроен на активизацию по различным событиям: вскрытие дверцы, выдача или сдача ключа и т.д.
2.13. Какие считыватели идут в комплекте
Поставка идет с двухформатными считывателями, поддерживающим форматы EmMarin и HID proxCard2 (125 кгц) одновременно. Возможно установка считывателей MiFare. Считыватели любого другого формата можно подключить самостоятельно, для этого в системе имеются два Wiegand интерфейса с форматом от 26 до 80 бит.
2.14. Зачем использовать два считывателя
Если в кабинете работает несколько сотрудников, и первый сотрудник забрал ключ с утра, для второго сотрудника система не будет четко знать, то ли он хочет получить забранный ключ, то ли он хочет его сдать. В этом случае потребуется нажатие дополнительных кнопок на сенсорном экране, потребуется лишнее время. Простой расчет показывает, что при интенсивном использовании системы хранения ключей за 10 лет эксплуатации потери рабочего времени за счет нажатия дополнительных кнопок составит более миллион рублей. Мы убрали необходимость нажатия лишних кнопок и потерю времени. Всё предельно просто - левый считыватель чтобы сдать ключ, правый считыватель чтобы получить ключ. В то же время всегда остается возможность управления с клавиатуры дисплея.
2.15. Как крепить ключ к брелокам
Ключи крепятся одноразовыми 3 мм дужками из нержавеющей стали. Ключ надевается на дужку и защелкивается внутри брелока. Снять ключ с брелока невозможно, кроме как сломать либо ключ, либо дужку.
2.16. Можно ли использовать брелок повторно, если требуется заменить или добавить ключ
Брелоки разработаны с учетом того, что возможна неоднократная замена или добавление ключей. Для этого необходимо перепилить дужку непосредственно около брелока, взять новую дужку, повесить на нее необходимые ключи и вставить дужку в брелок, пропихнув "огрызок" старой дужки внутрь брелока. В зависимости от длины "огрызков" возможно произвести замену до 5 раз.
2.17. Почему отключается дисплей при пропадании напряжения питания
Подсветка дисплея имеет достаточно большое энергопотребление и отключается при переходе в режим работы от аккумуляторных батарей. Для активизации подсветки системы – коснитесь дисплея или поднесите карточку к считывателю. Подсветка дисплея включится.
2.18. Мне не нужно блокировать ключи в системе, мне нужно только контроль выдачи
Для компаний, где количество сотрудников, имеющих доступ к ключам, ограниченно, имеется возможность использования модулей KGRD-0012 на 12 ячеек БЕЗ фиксации брелоков. В этом случае заблокирована только дверца системы. Сотрудник проходит авторизацию может забрать только свой ключ. Если он забрал чужой ключ – сформируется сигнал тревоги. Все отчеты о том, кто именно взял/сдал ключ, доступны из программного обеспечения или панели ключницы. Система без блокировки брелока в гнездах значительно дешевле. Сферы применения: автодилеры, ключи от банкоматов, ключи от технологических помещений (щитовых) и т.д.
2.19. Для обеспечения режима секретности на объекте требуется хранить ключи в пеналах
Наша система может хранить ключи как в пеналах, так и на брелоках. Однако при хранении в пеналах ключи все равно крепятся на специальные брелоки немного большей глубины, чем стандартные, и только после этого вставляются в опечатываемые пеналы. Таким образом, мы гарантируем наличие ключа в пенале. Вы можете выбрать комплект поставки пеналов в зависимости от размера используемых ключей.
2.20. Мне нужна система на 70 ключей
Блоки имеют фиксированное количество слотов - 3, 5 и 10. Возможно заказать неполный набор модулей в блоках, в этом случае пустые места будут закрыты заглушками из нержавеющей стали.
2.21. Мне нужна система на 3000 ключей
К одной панели управления можно подключить до 20 блоков с суммарным количеством до 2000 ключей. Т.е. для хранения 3000 ключей потребуется две системы по 1500 ключей. Однако, если они будут находиться в одном месте их можно будет связать по Ethernet. В этом случае вам не потребуется запоминать в какой системе находится ваш ключ. Вы сможете авторизоваться и дать команду выдачи ключа с любой из систем.
2.22. Как подключится к ключнице. Какие есть интерфейсы
Стандартным интерфейсом подключения является Ethernet. Так же есть RS-485 и RS-232 гальванически изолированные интерфейсы. Начальная установка IP адресов системы и сервера выполняется в сервисном меню электронной ключницы.
2.23. Есть ли возможность использовать биометрический считыватель отпечатка пальцев
Возможно самостоятельное подключение считывателя отпечатков пальцев. Большинство таких считывателей, представленных на рынке, имеют возможность эмулировать Wiegand интерфейс. Просто подключите его к одному из входов и при сканировании отпечатка считыватель будет выдавать Wiegand посылку с реальной или виртуальной картой доступа, дальше система будет работать как обычно.
2.24. Можно ли осуществить доступ к ключу по коду
Вы можете настроить любой вид доступа: только по номеру пользователя и паролю, только по карте, совмещенный по карте с подтверждением паролем, также возможно подключить дополнительный биометрический считыватель.
2.25. Можно ли сделать одноразовый пароль на доступ к ключу
Данная функция находится в разработке и будет доступна при апгрейде ранее установленных систем.
2.26. Есть ли интеграция Болид с электронными ключницами KeyGuard
Интеграция с системой Болид выполнена специалистами компании KeyGuard и решает две задачи.
1. Автоматическая постановка/снятие помещений под охрану.
- При сдаче ключа сервер KeyGuard передает на АРМ "Орион Про" команду на постановку под охрану зоны, соответствующей помещению, от которого сдается ключ;
- АРМ "Орион Про" отрабатывает команду и выдает подтверждение на ключницу;
- Пользователь видит на дисплее ключницы подтверждение о постановке под охрану. В случае, если какой-либо датчик не готов к постановке под охрану, выводится его номер и название.
2. Импорт карт и пользователей из базы данных Болид в электронную ключницу КейГард.
- Для импорта карт и пользователей ИСО "Орион" в базу данных электронных ключниц KeyGuard необходимо установить в АРМ "Орион Про" дополнительный "Модуль Интеграции Орион Про" из состава ПО производства Болид;
- После того, как будут заданы уровни доступа к ключам, импорт карт и пользователей происходит автоматически.
2.27. С какими еще системами интегрирована ключница
У нас есть договоренности с практически всеми ведущими производителями на Российском рынке. Однако все работы будут выполняться только под конкретный запрос (узнайте актуальное состояние – позвоните нам).
2.28. Существуют системы хранения ключей с RFID технологией, в чем отличия от KeyGuard
Отличия настолько малы что, возможно, будут незаметны для вас. RFID – немного более громоздкая система, т.е. потребуется немного большое места для хранения такого же количества ключей. Сами метки немного менее надежны. Отмечены жалобы на то, что система на базе RFID меток не может считать все ключи, но это в специфических электромагнитных условиях, к примеру, в непосредственной близости от вышки сотового оператора. Контактная технология уже опробована в течение 20 лет и имеет, пожалуй, один недостаток только использовании на производстве, т.е. непосредственно в цехах. В таком случае имеется возможность переноса заводской грязи внутрь системы. Для очистки загрязненных контактов необходимо их протереть ватной палочкой, смоченном в спирте.
keyguard остановлено что это на алкателе pixi
Keyguard в основном относится к коду, который обрабатывает разблокировку телефона.
Вкратце, это ваш lockscreen. ПИН-код, паттерн, лицо, блокировки паролей или блокировка по умолчанию (слайд для разблокировки), но это ваш экран блокировки.
КаролинаУченик (39) 5 лет назад
что делать? у меня не было не какого пароля на телефоне
Серый Искусственный Интеллект (364405) Обычно достаточно просто перезагрузить телефон.
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.