Как создать аппаратные ярлыки в Android 4.3?

У меня Samsung Galaxy S4 GT-i9500 с последней прошивкой и Android 4.3.

Я хочу создать «аппаратные ярлыки».

Например, если я зажму volume upи homeодновременно, то откроется приложение, которое я поставил, например "Firefox".

Как пользователь Linux, я знаю, что это возможно в Fedora и Ubuntu.

Возможно ли это с Android? Мое устройство не рутировано.

Ответы (3)

Судя по описанию, Button Savior Non Root умеет это (а Button Savior (Root) и того больше). Я не пробовал, и описание немного неясно, эмулирует ли он только аппаратные клавиши с помощью плавающего меню, или вы можете переназначить аппаратные клавиши; поэтому ваши отзывы приветствуются, если вы попробуете это.

В качестве альтернативы разработчики XDA предлагают приложение под названием ButtonRemapper . Хотя здесь явно указано , что инструмент для переназначения аппаратных кнопок требует root.

Последней альтернативой, которую я могу назвать, является . Вот знаю точно можно переназначить хоть кнопку камеры. Не уверен в других.

Button Savior может только эмулировать аппаратные кнопки, создавая своего рода док-станцию ​​с автоматическим скрытием в правой части экрана, откуда вы можете выбрать функцию, такую ​​​​как телефон, камера и т. Д.
С помощью Tasker я обнаружил, что вы можете перенастроить только клавишу камеры. Вы не можете привязать действия к таким комбинациям, как Volume Up+Home.
С помощью ButtonRemapper (ROOT) вы можете переопределить, что делают аппаратные кнопки, но вы по-прежнему не можете настроить комбинации кнопок, как спрашивал OP.
Ах - спасибо за отзыв. Не был уверен насчет Button Savior (примечание для себя: помните). Что касается Tasker : хорошо, так что ничего не изменилось. Я надеялся, что это было добавлено тем временем, как часто просили. Не специально для комбо, а хотя бы для «большего количества клавиш». Остается только вариант ButtonRemapper , требующий root, если только кто-то не придумает способ «фиксировать ключевые события» другим способом. // Я взял комбинацию просто для примера; но вы можете быть правы с этим. Я все равно оставлю свой ответ, он может быть полезен хотя бы другим (надеюсь).
Я тоже считаю, что Tasker должен предоставить больше ключевых опций, но теперь мы можем приблизиться к этому с помощью AutoInput. Я подошел очень близко, если не идеально эмулировал здесь: Как создать аппаратные ярлыки в Android 4.3? :D

Вы можете попробовать HomeSmack или Home2 Shortcut . Эти приложения могут переназначить функциональность кнопки «Домой» любому приложению. Home keyВо втором вы также можете настроить комбинации, такие как Search key, Back key, и т. д., чтобы запустить приложение.

Мой почти точный ответ был первоначально опубликован на вопрос « Привязать действие к комбинации аппаратных клавиш» .


Я подошел близко, но я все еще не могу запустить действие одновременно, когда две клавиши нажаты в комбинации, как мы делаем для создания снимка экрана. В любом случае вам понадобится:

  • AutoInput (для Android 4.3 и выше) с Tasker , оба платные/7-дневная полная пробная версия или
  • Xposed Additions (требуется root-доступ) с помощью Tasker для создания комбинаций клавиш.

Неудобство в этом решении заключается в том, что в отличие от одновременного нажатия обеих клавиш вам придется делать это последовательно. То есть нажмите и удерживайте кнопку увеличения громкости, а затем кнопку питания. Время между этими нажатиями клавиш является гибким.

Одно нажатие клавиши

Используйте автоввод с Tasker, если вы хотите запустить свое действие с помощью комбинации одиночных нажатий клавиш, т. е. нажать клавишу только один раз, но не хотите долго нажимать клавиши.

  1. В Tasker создайте профиль на основе событий из Plugin → AutoInput → Key → Configuration :

    • Клавиши : увеличение громкости
    • Ключевое действие : клавиша вниз
  2. Создайте в нем задачу с именем " AutoInput Volume Up" и создайте в ней следующие действия:

    1. Переменная → Набор переменных :

      • Имя :%Kset
      • Кому :1
    2. Задача → Подождите → Секунды :1
    3. Переменная → Набор переменных:

      • Имя :%Kset
      • Кому :0

    Объяснение : при обнаружении одиночного нажатия Vol Up пользовательская переменная %Ksetбудет инициализирована до пользовательского значения, 1а затем мы будем ждать одну секунду (в течение этой секунды вам нужно будет нажать клавишу питания). Затем мы инициализируем переменную, 0потому что этого требует наше решение, иначе наша основная задача по захвату фотографии была бы выполнена одним нажатием клавиши питания.

  3. Повторите шаг 1 , но выберите клавишу питания вместо клавиши увеличения громкости .
  4. Создайте в нем задачу с именем " AutoInput Power" и создайте в ней следующие действия:

    1. Задача → Если → Условие : %Kseteq1
    2. Плагин → Автоввод → Режимы :

      • Конфигурация :

        • Подавление клавиш : Включить
        • Ключи: мощность
      • Тайм-аут: нет
    3. Необязательное действие -- Alert → Flash → Text :Commencing launch
    4. Приложение → Запустить приложение → Firefox**.
    5. Повторите подшаг 2 шага 4 , но выполните Key Suppress: Disable .
    6. Необязательное действие -- Задача → Другое .
    7. Необязательное действие -- Alert → Flash → Text :Psst: You're too late Jim!


    Объяснение :

    • В нашем первом действии мы проверяем, установлена ​​ли переменная %Ksetв 1, и если да, то второе действие заблокирует передачу нажатия кнопки питания в систему, поскольку обычно нажатие клавиши питания переводит устройство в спящий режим и блокирует экран.
    • При желании можно запустить пользовательское всплывающее уведомление, сигнализирующее об успешной комбинации.
    • Tasker успешно запустит Firefox или выбранное приложение.
    • Отключите подавление клавиши питания, поскольку в противном случае вы никогда не сможете использовать эту кнопку в обычном режиме, пока подавление клавиши не отключено явно или не работает доступность AutoInput.
    • Оператор Else является необязательным, но может пригодиться, поскольку в начале ваши последовательные нажатия клавиш могут быть несогласованными, поэтому пользовательское всплывающее уведомление в следующем действии намекнет вам, что комбинация не удалась.

Вот и все. Перейдите на главный экран или в любое приложение, не относящееся к Tasker, нажмите клавишу увеличения громкости, а затем клавишу питания в течение одной секунды (не волнуйтесь, вы привыкнете к этому, иначе измените период ожидания ) и вы увидите, как Tasker открывает свой настраиваемый интерфейс, изображение будет захвачено автоматически, и вы вернетесь к тому, что вы изначально делали.

Ура!


Длительное нажатие клавиши

Некоторым людям может не понравиться однократное нажатие обеих клавиш, поскольку они не являются привычными или могут показаться странными при использовании их в такой координации. В этом случае, при условии, что у вас есть root-доступ и установлена ​​Xposed Framework , вы можете использовать Xposed Additions , чтобы установить длительные действия нажатия клавиш для ваших клавиш.

Чтобы настроить настраиваемое действие на эти клавиши, нам понадобится Tasker . Создайте две задачи с именами " AutoInput Volume Up" и " AutoInput Power" явно в Tasker, только если вы не следовали разделу " Одно нажатие клавиши ".

  1. В этом приложении перейдите в « Кнопка » → установите время задержки длительного нажатия → « Добавить новую клавишу » → нажмите клавишу увеличения громкости → выберите запись новой клавиши.
  2. Нажмите « Добавить новое условие » → «Экран включен » → → выберите новую запись → установите флажок « Длительное нажатие» и коснитесь этой записи → прокрутите вниз до « Ярлык» → « Ярлык задачи»«Увеличение громкости автоввода» .
  3. Повторите шаг 1 , но сделайте это для клавиши питания .
  4. Повторите шаг 2 , но выберите AutoInput Power в разделе Task Shortcut .

Всякий раз, когда Xposed Additions включен и активирован в Xposed Framework, при любом длительном нажатии кнопки/клавиши, установленной в этом приложении, вы почувствуете легкую вибрацию. Эта вибрация очень помогла бы узнать, когда отпустить первую клавишу и долго нажимать другую клавишу.

Попробуйте, потому что это весело.