Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
speles
Сообщений: n/a
#1

Вибрация при заблокированном экране - Программирование Android

19.05.2012, 23:18. Просмотров 1191. Ответов 13
Метки нет (Все метки)

Здравствуйте! Я использую вибрацию в своем приложении так:
Код
        String vibratorService = Context.VIBRATOR_SERVICE;
        Vibrator vibr = (Vibrator)getSystemService(vibratorService);
        long[] pattern = {100, 200, 300};
        vibr.vibrate(pattern, 0);
Все замечательно работает, до тех пор, пока я не заблокирую экран, тогда вибрация останавливается. Как сделать чтобы она не останавливалася при блокировке экрана?

Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 23:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вибрация при заблокированном экране (Программирование Android):

Начать съемку на заблокированном смартфоне при удерживании кнопки "Выкл" - Программирование Android
Обращаюсь ко всем разработчикам Android приложений. Реально ли написать следующее приложение. У каждого стандартного смартфона...

Падает скорость объектов на экране при нажатии - Программирование Android
Привет. У меня возникла проблема. Создал маленькую игру, На экране двигаются несколько объектов, а один из них двигается в зависимости от...

AS 3.0 Вибрация при нажатии кнопки - ActionScript
Всем доброго времени суток. Прогуглил весь инет. К сожалению не владею английским чтоб поискать в англ. сайтах. Задача: Как сделать так...

Вибрация? - Материнские платы
Чтобы найти источник вибрации собрал компьютер без корпуса. Только блок питания, материнская плата, на ней установлены 4 планки памяти и...

Вибрация HDD - Жесткие диски
Здравствуйте! Подскажите в чём может быть причина вибраций винчестера WDC WD5000AAJS, вибрации происходят с периодичностью 2-3 секунды....

Вибрация вентилятора - Охлаждение
На блоке питания, на процессоре и на всём системном блоке по вентилятору, то есть всего их, третий по порядку данного перечисления...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
hatsub
61 / 60 / 2
Регистрация: 25.05.2011
Сообщений: 388
18.08.2016, 14:09 #2
актуально
0
Pablito
2487 / 1932 / 604
Регистрация: 12.05.2014
Сообщений: 6,793
Завершенные тесты: 1
18.08.2016, 14:15 #3
код?
0
vxg
Модератор
3162 / 1965 / 220
Регистрация: 13.01.2012
Сообщений: 7,523
18.08.2016, 14:30 #4
может при блокировке экрана не только вибрация останавливается но и то что к ней приводит?
0
hatsub
61 / 60 / 2
Регистрация: 25.05.2011
Сообщений: 388
18.08.2016, 14:35 #5
Цитата Сообщение от Паблито Посмотреть сообщение
код?
да, было бы не плохо увидеть код, который запускает вибрацию при заблокированном экране

Цитата Сообщение от vxg Посмотреть сообщение
может при блокировке экрана не только вибрация останавливается но и то что к ней приводит?
не понимаю о чем вы
0
vxg
Модератор
3162 / 1965 / 220
Регистрация: 13.01.2012
Сообщений: 7,523
18.08.2016, 14:39 #6
hatsub, ну к примеру вибрацию вызывает некое событие фиксируемое в потоке. блокировка экрана уводит телефон в сон - поток останавливается - вибрации нет
0
Pablito
2487 / 1932 / 604
Регистрация: 12.05.2014
Сообщений: 6,793
Завершенные тесты: 1
18.08.2016, 14:43 #7
что значит "заблокировал экран", никого не подпускать к нему?
наверное это должно звучать так "я выключаю экран кнопкой на телефоне и вибрация останавливается" ?
0
REALIST07
Автор FAQ
Автор FAQ
176 / 176 / 13
Регистрация: 11.06.2010
Сообщений: 932
18.08.2016, 14:50 #8
Очевидность, если телефон ушел спать, его нужно разбудить, юзайте WakeLock,но будьте осторожны с жором батареи
0
Pablito
2487 / 1932 / 604
Регистрация: 12.05.2014
Сообщений: 6,793
Завершенные тесты: 1
18.08.2016, 14:53 #9
выключился или заблокирован экран != ушел спать
0
vxg
Модератор
3162 / 1965 / 220
Регистрация: 13.01.2012
Сообщений: 7,523
18.08.2016, 14:56 #10
Паблито, в некоторых предложениях != == == || ~
0
hatsub
61 / 60 / 2
Регистрация: 25.05.2011
Сообщений: 388
18.08.2016, 15:03 #11
Цитата Сообщение от vxg Посмотреть сообщение
hatsub, ну к примеру вибрацию вызывает некое событие фиксируемое в потоке. блокировка экрана уводит телефон в сон - поток останавливается - вибрации нет
только что попробовал запуск в отдельном потоке - при блокировке экрана выбрация выключается

Добавлено через 5 минут
Цитата Сообщение от REALIST07 Посмотреть сообщение
Очевидность, если телефон ушел спать, его нужно разбудить, юзайте WakeLock,но будьте осторожны с жором батареи
спасибо, это подходящее решение задачи
0
vxg
Модератор
3162 / 1965 / 220
Регистрация: 13.01.2012
Сообщений: 7,523
18.08.2016, 15:05 #12
hatsub, ради чистоты эксперимента попробуйте
XML
1
<uses-permission android:name="android.permission.WAKE_LOCK"/>
Java
1
2
3
4
5
PowerManager powerManager = (PowerManager)ctx.getSystemService(POWER_SERVICE);
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, tag);
wakeLock.acquire();
//долго долго (так что бы экран успел заблокироваться) делаем что то что жужжит
wakeLock.release();
Добавлено через 50 секунд
только помните - батарея будет тю тю
1
Pablito
2487 / 1932 / 604
Регистрация: 12.05.2014
Сообщений: 6,793
Завершенные тесты: 1
18.08.2016, 15:11 #13
аж бегом вибрирует при отключении экрана без явного wake_lock
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
28
29
30
31
32
33
34
35
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.os.Vibrator;
import android.support.v7.app.AppCompatActivity;
 
public class MainActivity extends AppCompatActivity {
 
    private BroadcastReceiver vibrateReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
                startVibrate();
            }
        }
    };
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
        registerReceiver(vibrateReceiver, filter);
        startVibrate();
    }
 
    private void startVibrate() {
        String vibratorService = Context.VIBRATOR_SERVICE;
        Vibrator vibr = (Vibrator) getSystemService(vibratorService);
        long[] pattern = {100, 200, 300};
        vibr.vibrate(pattern, 0);
    }
}
2
REALIST07
Автор FAQ
Автор FAQ
176 / 176 / 13
Регистрация: 11.06.2010
Сообщений: 932
18.08.2016, 15:45 #14
Паблито, точно, у меня такой же код был, забыл что он на ресивере висит
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2016, 15:45
Привет! Вот еще темы с ответами:

Пользование базы данных в заблокированном режиме - C#
Не пойму почему так происходит. Есть пользователь. Есть некоторое приложение которое выполняет простейшие операции с базой данных(...

Delphi XE7 Вибрация - Delphi FireMonkey
Доброе время суток . Подскажите как решить проблемку с вибрацией при переходе с XE5 на XE7 . В XE5 все без проблем работает так : ...

Вибрация и преобразование Фурье - Matlab
День добрый! Имеется двигатель, на котором само собой установлено всякое клапанье, арматура и тд. Были проведены огневые испытания на...

Отловить нажатие на заблокированном элементе JSF PrimeFaces - Java EE
Всем привет, проблема в следующем. На jsf странице есть элемент &lt;p:selectOneMenu disabled = &quot;true&quot;&gt; Необходимо чтобы при нажатии на...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.08.2016, 15:45
Ответ Создать тему
Опции темы

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