Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Autochapa
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 32
#1

Как отследить удерживание кнопки при старте программы? - Программирование Android

30.08.2016, 07:38. Просмотров 670. Ответов 24
Метки нет (Все метки)

Например хочу чтобы при нажатой Volume UP и запуске моего приложения чтото происходило.

Все перерыл, но везде одно и то же про onKeyDown

http://www.cyberforum.ru/android-dev/thread2039883.html
но мне нужно лишь считать состояние кнопки при запсуке программы


как это возможно сделать?

Добавлено через 23 часа 59 минут
понятно, наверно никак
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.08.2016, 07:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как отследить удерживание кнопки при старте программы? (Программирование Android):

Оформление кнопки: отследить, вмещается ли текст в размеры кнопки
Добрый день, задача стоит следующая динамически создаю кучу кнопок, каждой...

TextInputLayout "открытие поля при старте программы"
Ребят, всем привет! Вот решил немного изучить дизайн, и не могу понять в чем...

Как загрузить видео при старте Activity?
Всем привет. Возможно этот вопрос покажется для кого-то простым и не...

Как при старте приложения запустить другой Activity ?
Всем привет, ребят подскажите, как при запуске поменять первую запускаемую...

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

24
vxg
Модератор
3229 / 2032 / 319
Регистрация: 13.01.2012
Сообщений: 7,884
30.08.2016, 09:10 #2
Autochapa, чем onKeyDown не устроил?
0
Autochapa
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 32
30.08.2016, 09:13  [ТС] #3
он срабатывает, если я удерживая кнопку запущу приложение?
0
vxg
Модератор
3229 / 2032 / 319
Регистрация: 13.01.2012
Сообщений: 7,884
30.08.2016, 10:16 #4
Autochapa, осознал, проникся. да, надо искать именно статус кнопки если это возможно вообще, а не факт ее нажатия так как это событие произошло до запуска.
0
Autochapa
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 32
30.08.2016, 11:40  [ТС] #5
ага, хоть аппаратно отслеживай
но вот только чтото не нашел нигде...
0
kozak95
34 / 34 / 21
Регистрация: 01.11.2013
Сообщений: 319
30.08.2016, 13:51 #6
Autochapa, А нужно ли такая возможность вообще? Можете пример привести зачем нужно запускать приложение и держать еще какую-то кнопку?
0
androbro
340 / 301 / 67
Регистрация: 17.10.2014
Сообщений: 887
30.08.2016, 15:16 #7
Цитата Сообщение от kozak95 Посмотреть сообщение
Можете пример привести зачем нужно запускать приложение и держать еще какую-то кнопку?
имхо какой нить Admin-mode
0
Pablito
2645 / 2127 / 726
Регистрация: 12.05.2014
Сообщений: 7,436
Завершенные тесты: 1
30.08.2016, 15:43 #8
привяжись к показаниям акселерометра, например если в момент запуска программы телефон перевернут "вниз головой" то делай магию
1
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
30.08.2016, 16:30 #9
Присоединяюсь к вопросу! Можно ли ГЛОБАЛЬНО перехватить VolumeUP?
кажется очень давно встречал прогу, которая уменьшала звук своим диалогом на нажатие кнопки. Но это было ОЧЕНЬ давно - даже название не вспомню... (не уверен что диалог не вызывался на "реактор" изменения громкости)
0
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 191
30.08.2016, 18:20 #10
Tester64, A-Volume виджет
0
Autochapa
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 32
30.08.2016, 18:39  [ТС] #11
Цитата Сообщение от androbro Посмотреть сообщение
имхо какой нить Admin-mode
да вот именно,

я хочу запускать приложение, и чтобы оно отрабатывало без лишних вопросов и самоликвидировалось.

а вот логику отработки чтобы можно было менять при запуске с удержанной кнопкой vlup
0
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
30.08.2016, 20:16 #12
Цитата Сообщение от den_droid Посмотреть сообщение
A-Volume виджет
Нет! Другая! Эта у меня стояла... Она виджет дает и диалогом можно управлять. А та на нажатие на кнопку изменения громкости выдавала окошко с громкостями и возможно даже с эквалайзерами. Сочное такое окошко... в ярких тонах...
Скорее такая (лень устанавливать): https://play.google.com/store/apps/details?id=hr.podlanica&hl=en
0
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
31.08.2016, 08:26 #13
Возможно я не понял что подразумевает ТС, но при сценарии нажата кнопка Volume UP или Volume Down и запуск приложение нажатием на лаунчер-иконку этот код работает.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
 
    @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        super.onKeyUp(keyCode, event);
        if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
            Toast.makeText(MainActivity.this,"KEYCODE_VOLUME_UP",Toast.LENGTH_SHORT).show();
            return true;
        }
        return false;
    }
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        super.onKeyDown(keyCode, event);
        if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
            Toast.makeText(MainActivity.this,"KEYCODE_VOLUME_DOWN",Toast.LENGTH_SHORT).show();
            return true;
        }
        return false;
    }
}
0
Autochapa
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 32
31.08.2016, 12:57  [ТС] #14
можь я че не так делаю?

у меня этот код срабатывает только при отпускании кнопки и при работающем приложении

а если приложение запускается, заносит данные в буфер обмена и завершается не ожидая ничего?

вот тогда этот вариант не прокатывает, либо надо давть время на ожидание отпускания кнопки, а это не входит в мои планы
0
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
31.08.2016, 13:39 #15
Цитата Сообщение от Autochapa Посмотреть сообщение
у меня этот код срабатывает только при отпускании кнопки и при работающем приложении
Срабатывает да, при отпускание, но если сначала нажать допустим volume up, потом запустить приложение и отпустить то срабатывает.
Проверял на HTC One M7.
0
ExFau$t
516 / 471 / 101
Регистрация: 08.05.2012
Сообщений: 2,369
31.08.2016, 16:38 #16
Цитата Сообщение от Autochapa Посмотреть сообщение
если приложение запускается
Ну создавай бродкаст при запуске и слушай в нём нажатие кнопки.
0
Autochapa
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 32
31.08.2016, 18:08  [ТС] #17
Цитата Сообщение от fraley Посмотреть сообщение
потом запустить приложение и отпустить то срабатывает.
приложение отрабатывает быстрее и выходит, чем вы подумаете отпустить, вот в чем трабл

Добавлено через 37 секунд
Цитата Сообщение от ExFau$t Посмотреть сообщение
Ну создавай бродкаст при запуске и слушай в нём нажатие кнопки.
кнопка нажата до запуска
0
ExFau$t
516 / 471 / 101
Регистрация: 08.05.2012
Сообщений: 2,369
31.08.2016, 23:01 #18
Autochapa, бродскаст создаётся при самом первом запуске после установки, потом запускать приложение не придётся.
0
Autochapa
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 32
01.09.2016, 01:10  [ТС] #19
Цитата Сообщение от ExFau$t Посмотреть сообщение
бродскаст создаётся при самом первом запуске после установки
понятно, т.е. чтото должно висеть в памяти получается всетаки?
0
Lumber
295 / 100 / 41
Регистрация: 02.12.2015
Сообщений: 241
01.09.2016, 01:56 #20
Может автоповтор ловить?

Проверять getRepeatCount и если там не ноль в первом событии после запуска программы, то кнопка была нажата до запуска и удерживается.
0
01.09.2016, 01:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.09.2016, 01:56
Привет! Вот еще темы с решениями:

Приложение вылетает при старте на 4.1, на 4.4 - работает
Здравствуйте, Я написал приложение для android в eclipse 4.4.2. На телефоне с...

Запуск анимации при старте активити
Есть покадровая анимация, которая выставлена фоном одного из элементов...

Запрос разрешений при старте приложения
При старте приложения сделал запрос на пермишены в onCreate, проблемка в том,...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru