Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
_Night_Scream_
77 / 75 / 9
Регистрация: 08.08.2013
Сообщений: 622
#1

Круглосуточный мониторинг датчиков с android устройтва - Программирование Android

11.10.2016, 10:04. Просмотров 381. Ответов 9
Метки нет (Все метки)

День добрый.
Есть задача реализовать круглосуточный съём показаний с датчиков (освещенности\гироскоп) и gps.
Какие проблемы могут возникнуть с такой работой?

Например у меня asus zenfone 2 с android 6, он убивает все соединения если телефон не трогаешь 1 час, даже музыка перестаёт играть не говоря о приложениях проверяющих почту или вк, они просто не работают когда экран выключен.

Старому Explay было пофигу с android 4.2.2, я получал важную для меня почту всегда, сигнализируя мне звуковым оповещением устройство работало без проблем.

Копать в неубиваемые сервисы? такие бывают с вышеописанной проблемой?
Или поставить лок на засыпание экрана и черную заставку.
О потреблении заряда батареи не заботимся.

Приложение делается для себя, а не для каких либо вирусов и слежки.

Спасибо.
http://www.cyberforum.ru/android-dev/thread1897515.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2016, 10:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Круглосуточный мониторинг датчиков с android устройтва (Программирование Android):

Круглосуточный мониторинг энергии, вырабатываемой солнечной.
Добрый день. Собираюсь сделать устройство, которое должно круглогодично...

Мониторинг системных датчиков температуры
Здравствуйте, уважаемые программисты! Поставлена задача создать приложение, с...

Как составить блок-схему устройтва распределенного контроля температуры?
Здравствуйте, помогите пожалуйста правильно составить блок схему для...

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

Калибровки датчиков.
Ув. форумчане. 1) Подскажите как обычно (или как грамотно) организуют...

9
vxg
Модератор
3230 / 2033 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
11.10.2016, 10:20 #2
_Night_Scream_, пулять каждые N секунд аларм с пробуждением и делать лок на время фиксации данных
1
_Night_Scream_
77 / 75 / 9
Регистрация: 08.08.2013
Сообщений: 622
11.10.2016, 11:45  [ТС] #3
vxg, буду тестить аларм на 6й версии
0
vxg
Модератор
3230 / 2033 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
11.10.2016, 11:47 #4
_Night_Scream_, можно конечно просто запустить в сервисе бесконечный поток вокруг которого сделать лок, но зачем
1
_Night_Scream_
77 / 75 / 9
Регистрация: 08.08.2013
Сообщений: 622
11.10.2016, 11:53  [ТС] #5
vxg, а что значит "вокруг которого сделать лок" ?
Мне любые средства нужны, лишь бы 100% круглосуточно работала программа, пользования телефоном в этот момент не будет, зарядка будет подключена.
Сервис тоже надо заморочиться сделать неубиваемый.
0
DemD10
58 / 47 / 12
Регистрация: 03.09.2013
Сообщений: 443
11.10.2016, 12:09 #6
_Night_Scream_, Ну с не убиваемостью сервиса есть такой подход.
android foreground service, но там полно своих тонкостей. И насчет аларма, в андроид апи выше 19 по-моему, ты можешь указать время аларма, но система сама решил когда он сработает, к примеру, у меня как то была задача будить телефон раз в пол часа, так делей доходил до часа.
0
_Night_Scream_
77 / 75 / 9
Регистрация: 08.08.2013
Сообщений: 622
11.10.2016, 12:15  [ТС] #7
DemD10, vxg, аларм не подойдёт, я внезапно понял.
датчики должны обрабатываться ежесекундно и круглосуточно.

В общем телефон должен в ЛЮБОЙ момент времени среагировать на окружающую среду, будь то перемещение или свет или качение, он отправит смс, получится некое подобие охраны.
0
vxg
Модератор
3230 / 2033 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
11.10.2016, 12:31 #8
Лучший ответ Сообщение было отмечено _Night_Scream_ как решение

Решение

_Night_Scream_, ну к примеру вот так
XML
1
<uses-permission android:name="android.permission.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class App extends Application {
    public static final String tag = App.class.getPackage().getName();
 
    public static Semaphore semaphore = new Semaphore(1);
    public static Thread thread;
 
    public static void startThread() {
        thread = new Thread(new Runnable() {
            public void run() {
                PowerManager powerManager = (PowerManager)ctx.getSystemService(POWER_SERVICE);
                WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, tag);
                wakeLock.acquire();
 
                try {
                //бесконечно делаем что то ужасное
                } catch (Exception e) { //это на случай если мы где-то ошиблись - хоть лок снимем
                }
 
                wakeLock.release();
            }
        });
        thread.start();
    }
}
 
public class AppService extends Service {
    public void onCreate() {
        super.onCreate();
    }
      
    public void onDestroy() {
        super.onDestroy();
    }
    
    public int onStartCommand(Intent intent, int flags, int startId) {
        App.semaphore.acquireUninterruptibly();
        if (App.thread == null || !App.thread.isAlive()) {
            App.startThread();
            App.semaphore.release();
        } else {
            App.semaphore.release();
        }
        return START_STICKY;
    }
    
    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }
}
DemD10, не верится в то что система делает из 30 минут час возможно в вашем коде есть что-то еще, у меня пока все срабатывало примерно в срок

Добавлено через 4 минуты
Цитата Сообщение от _Night_Scream_ Посмотреть сообщение
В общем телефон должен в ЛЮБОЙ момент времени среагировать на окружающую среду, будь то перемещение или свет или качение, он отправит смс, получится некое подобие охраны.
для этого не нужно заморачиваться - при изменениях система сама проснется и дернет ваш ресивер
1
_Night_Scream_
77 / 75 / 9
Регистрация: 08.08.2013
Сообщений: 622
11.10.2016, 12:39  [ТС] #9
vxg, спасибо, буду смотреть. а Semaphore мне нужен?
---
а увидел, я сначало подумал он не используется нигде.
0
vxg
Модератор
3230 / 2033 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
11.10.2016, 12:40 #10
_Night_Scream_, в примере он только для того что бы не запустить два потока параллельно. у вас же судя по всему вообще потока не будет - все на ресиверах
0
11.10.2016, 12:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2016, 12:40
Привет! Вот еще темы с решениями:

Показания датчиков MB
Добрый день. Надо получить значения температуры с разных датчиков: CPU, GPU,...

Опрос датчиков
задача:опросить датчики (1,8,15).если сработал один или 2 датчика, то...

Опрос датчиков
Существуют-ли методы опроса множества (несколько сотен) контактных датчиков...

Выбор датчиков давления
Есть задача: постепенно сменить &quot;допотопный&quot; приборный парк на современный....


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

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

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