Я часто случайно перезагружаю свой Nexus 6, нося его в кармане, потому что кнопки питания нажимаются более 10 секунд.
Учитывая долгое время загрузки, это может быть очень раздражающим.
Я понимаю, почему важно иметь способ принудительной перезагрузки, когда он зависает, хотя у меня еще не было такой проблемы.
Есть ли способ изменить поведение принудительной перезагрузки?
Возможно, увеличьте время, в течение которого кнопка питания должна быть нажата, или измените ее на комбинацию кнопок (например, увеличение громкости + кнопка питания на 10 секунд) ... что-нибудь, что снизит вероятность срабатывания моего кармана.
Я надеялся на некоторую гибкость в тайм-ауте длительного нажатия с помощью AutoInput , но приложения значительно замедляют работу моей ОС, чтобы что-то с ней делать.
В любом случае, все, что я предлагаю, это использовать Xposed Additions (бесплатно/платно; требуется Xposed Framework ; если у вас Android 5.x, вам нужно будет прошить некоторые файлы из пользовательского восстановления. См. эту ветку XDA от rovo89 для такого случая).
Нам также нужен Tasker (платный, 7-дневная бесплатная пробная версия).
(Проверено на Android 5.0.2 и 5.1.1)
Установите оба приложения → активируйте модуль Xposed Additions → запустите Xposed Additions.
Коснитесь кнопок → установите ползунок задержки длительного нажатия на максимум (500 мс) → Добавить новый ключ → нажмите кнопку питания, чтобы выбрать его → Питание
Нажмите «Добавить новое условие» → «Выключение экрана» → «Выключение экрана» → «Включить длительное нажатие» → «Ярлык» → «Ярлык задачи» → «Новая задача» → назовите задачу.
Примечание. Вы можете попробовать ярлык MacroDroid от MacroDroid вместо ярлыка задачи. Бесплатная версия ограничена одним действием на макрос, поэтому вы не получите никакой гибкости, но здесь это приемлемо.
Для вашей задачи действие будет таким:
Возможно, вибрации на 1000 мс вам будет недостаточно. В этом случае добавьте комбинацию действий. Например, в дополнение к последнему действию «Вибрация» вы также можете сделать:
Задача → Подождите → выберите MS или/и Секунды , немного превышающие миллисекунды, выбранные в последнем действии вибрации.
Ждать важно, потому что, если вы добавите непрерывные действия вибрации, вы в конечном итоге пропустите почти все из них, кроме первого. Таскер не ставит вибро запросы в очередь, как мне кажется.
Выберите значок для своей задачи, и все готово.
Теперь вы можете протестировать свое решение.
Для пользователей, у которых автоввод работает удовлетворительно, вы можете эмулировать длительное нажатие клавиши. Я протестировал свое решение на кнопке увеличения громкости, и оно сработало отлично. Ну почти !
Для Таскера:
Профиль 1: Событие → Плагин → Автоввод → Ключ → Конфигурация:
Задача 1: Действия:
%Set
→ Кому:0
%Set
eq
0
Профиль 2: Событие → Плагин → Автоввод → Ключ → Конфигурация:
Задача 2: Действия:
%Set
→ Кому:1
Используйте действие Key Suppress из Plugin → AutoInput → Modes, где это необходимо. Кроме того, я еще не экспериментировал с выключенным экраном.
Теперь теория: поток выглядит следующим образом:
%Set
в 0
профиле 1 → дождаться тайм-аута длительного нажатия (чуть меньше) → проверить, %Set
все еще 0
( %Set
стал бы, 1
если ключ освобождается), а затем выполните действие «Вибрация».Простой! Дайте мне знать, если это работает для клавиши питания.
ГигантДерево
d_inevitable
Повелитель огня
Дэн Браун
d_inevitable
Повелитель огня
Дэн Браун