Как назначить команду на кнопку блокировки экрана?

Интерфейс, диалоги, темы, стили, меню
Ответить
Аватара пользователя
Arssir
Сообщения: 38
Зарегистрирован: 09 июн 2013, 15:22
Откуда: Москва

Как назначить команду на кнопку блокировки экрана?

Сообщение Arssir » 29 окт 2013, 17:51

У меня в приложении играет музыка, я сделал так что при выходе и сворачивании, музыка приостанавливается (методы onPause(), onStop(), onResume()). Но не могу понять как остановить музыку при блокировки экрана. Какой метод за это должен отвечать?

Аватара пользователя
trew
Сообщения: 450
Зарегистрирован: 28 сен 2013, 17:34

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение trew » 29 окт 2013, 18:43

[quote="Arssir"][/quote]

Вот например как блокировать и разблокировать телефон программно:
[syntax=java] //Get the window from the context
WindowManager wm = Context.getSystemService(Context.WINDOW_SERVICE);

//Unlock
//http://developer.android.com/reference/ ... #getWindow()
Window window = getWindow();
window.addFlags(wm.LayoutParams.FLAG_DISMISS_KEYGUARD);

//Lock device
DevicePolicyManager mDPM;
mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
[/syntax]

Думаю, нужно поискать признак блокировки (в хелпе android) и обработать это в методе
[syntax=java]@Override
public void onConfigurationChanged(Configuration newConfig) {
// Log.v("###", "onConfigurationChanged");
// super.onConfigurationChanged(newConfig);
}[/syntax]

Может решениe где-то здесь
http://developer.android.com/guide/topi ... anges.html
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение IgNa » 29 окт 2013, 19:34

Пытаемся этим запретить приложению засыпать или останавливаться..
создали вот такую функцию
public void onConfigurationChanged(Configuration newConfig) {

Window window = getWindow();
window.addFlags(wm.LayoutParams.FLAG_DISMISS_KEYGUARD);
}
А строка
WindowManager wm = Context.getSystemService(Context.WINDOW_SERVICE);
никуда не впихивается, еклипс подчеркивает Context, предлагает например добавить import 'context' (android.content)
после чего уже подчеркивает всю строчку Context.getSystemService(Context.WINDOW_SERVICE);
Изображение

vovnet
Сообщения: 10
Зарегистрирован: 23 окт 2013, 13:06

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение vovnet » 29 окт 2013, 20:15

он же не просто подчеркивает, а еще и причину пишет..

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение KamiSempai » 30 окт 2013, 12:59

Arssir писал(а):У меня в приложении играет музыка, я сделал так что при выходе и сворачивании, музыка приостанавливается (методы onPause(), onStop(), onResume()). Но не могу понять как остановить музыку при блокировки экрана. Какой метод за это должен отвечать?
Как вам удается блокировать экран без его выключения?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
Arssir
Сообщения: 38
Зарегистрирован: 09 июн 2013, 15:22
Откуда: Москва

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение Arssir » 30 окт 2013, 13:18

KamiSempai писал(а):Как вам удается блокировать экран без его выключения?
А в чем разница между блокировкой и выключением? Нажимаю на кнопку, экран блокируется(выключается).

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение KamiSempai » 30 окт 2013, 14:15

Arssir писал(а):
KamiSempai писал(а):Как вам удается блокировать экран без его выключения?
А в чем разница между блокировкой и выключением? Нажимаю на кнопку, экран блокируется(выключается).
При выключении экрана обязательно должен вызываться onPause.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
Arssir
Сообщения: 38
Зарегистрирован: 09 июн 2013, 15:22
Откуда: Москва

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение Arssir » 30 окт 2013, 17:12

KamiSempai писал(а):
Arssir писал(а):
KamiSempai писал(а):Как вам удается блокировать экран без его выключения?
А в чем разница между блокировкой и выключением? Нажимаю на кнопку, экран блокируется(выключается).
При выключении экрана обязательно должен вызываться onPause.
Спасибо, я понял свою ошибку. В onPause было указано остановить музыку, но программа продолжала выполняться, а там было указано начинать играть. Поэтому остановка в onPause не срабатывала.

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение IgNa » 30 окт 2013, 18:19

trew писал(а):
Arssir писал(а):
Вот например как блокировать и разблокировать телефон программно:
[syntax=java] //Get the window from the context
WindowManager wm = Context.getSystemService(Context.WINDOW_SERVICE);

//Unlock
//http://developer.android.com/reference/ ... #getWindow()
Window window = getWindow();
window.addFlags(wm.LayoutParams.FLAG_DISMISS_KEYGUARD);

//Lock device
DevicePolicyManager mDPM;
mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
[/syntax]

Думаю, нужно поискать признак блокировки (в хелпе android) и обработать это в методе
[syntax=java]@Override
public void onConfigurationChanged(Configuration newConfig) {
// Log.v("###", "onConfigurationChanged");
// super.onConfigurationChanged(newConfig);
}[/syntax]

Может решениe где-то здесь
http://developer.android.com/guide/topi ... anges.html

trew, а ты можешь на основе этого и своего примера с hendlerom, который был здесь
viewtopic.php?f=51&t=2808
Сделать один непотопляемый никакой кнопкой выключения экрана Код
и я тебе 1000р

я работаю с андройд 2.2
Изображение

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение IgNa » 30 окт 2013, 18:35

Вообщем чтобы приложение никогда ни при каких условиях не становилось на паузу или стоп
Изображение

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение IgNa » 30 окт 2013, 20:04

Хотя кажись я сам разобрался ... проблема решалась вот как
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
killMe = false;
}
А ларчик то просто открывался )))
Изображение

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение IgNa » 31 окт 2013, 06:57

НЕа, опять не работает .. с чем связано не понятно
предложение снова в силе
1500р за отключение паузы и стопа
Изображение

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение IgNa » 31 окт 2013, 09:05

пока что выкручиваюсь вот этим:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
killMe = false;
}


ПЛЮС

ставим media player играть пустой файл на loop - кажись приложение больше не паузится
Тестирую на длительные дистанции
Изображение

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение IgNa » 31 окт 2013, 10:20

час выдержало, значит наверное и 16
Изображение

Аватара пользователя
trew
Сообщения: 450
Зарегистрирован: 28 сен 2013, 17:34

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение trew » 31 окт 2013, 11:29

IgNa писал(а):час выдержало, значит наверное и 16
Работающие решения бывают красивые, а бывают "другие".
viewtopic.php?f=51&t=2808&p=20021#p20021
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение IgNa » 31 окт 2013, 12:22

Если честно мое решение на много красивее, в нем вроде как дух русского народа)
Смекалка, как говорит задорнов)
И я буду использовать его, оно мне понятно - оно есть олицетворение меня в каком то смысле
я вложил в него свою душу
но ты верно служил мне все эти годы и поэтому я не могу не отблагодарить тебя
( это я преувеличиваю)
конечно могу)
А это я пошутил :D
поэтому можешь выслать в лчк номер телефона на который я положу))
положу 1000рублей, как только у меня появится возможность
Ну и СПАСИБО, за проявленный интерес и потраченое время, некоторые люди просто проходят мимо
А ты, ты не такой
Изображение

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение KamiSempai » 31 окт 2013, 15:08

Вот только не надо сюда русских приплетать. Это исключительно ваша "заслуга".
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Как назначить команду на кнопку блокировки экрана?

Сообщение IgNa » 31 окт 2013, 16:30

KamiSempai, ты тоже очень хороший
Изображение

Ответить