Страница 1 из 1

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

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

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

Добавлено: 29 окт 2013, 18:43
trew
[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

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

Добавлено: 29 окт 2013, 19:34
IgNa
Пытаемся этим запретить приложению засыпать или останавливаться..
создали вот такую функцию
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);

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

Добавлено: 29 окт 2013, 20:15
vovnet
он же не просто подчеркивает, а еще и причину пишет..

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

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

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

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

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

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

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

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

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

Добавлено: 30 окт 2013, 18:19
IgNa
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

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

Добавлено: 30 окт 2013, 18:35
IgNa
Вообщем чтобы приложение никогда ни при каких условиях не становилось на паузу или стоп

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

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

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

Добавлено: 31 окт 2013, 06:57
IgNa
НЕа, опять не работает .. с чем связано не понятно
предложение снова в силе
1500р за отключение паузы и стопа

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

Добавлено: 31 окт 2013, 09:05
IgNa
пока что выкручиваюсь вот этим:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
killMe = false;
}


ПЛЮС

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

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

Добавлено: 31 окт 2013, 10:20
IgNa
час выдержало, значит наверное и 16

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

Добавлено: 31 окт 2013, 11:29
trew
IgNa писал(а):час выдержало, значит наверное и 16
Работающие решения бывают красивые, а бывают "другие".
viewtopic.php?f=51&t=2808&p=20021#p20021

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

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

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

Добавлено: 31 окт 2013, 15:08
KamiSempai
Вот только не надо сюда русских приплетать. Это исключительно ваша "заслуга".

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

Добавлено: 31 окт 2013, 16:30
IgNa
KamiSempai, ты тоже очень хороший