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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
mks81
7 / 7 / 0
Регистрация: 12.10.2012
Сообщений: 51
#1

WiFi и энергосбережение - Программирование Android

12.10.2012, 11:00. Просмотров 1235. Ответов 7
Метки нет (Все метки)

Написал программу что-то вроде сетевого монитора, но есть одна проблема, которую нужно решить. Программа не использует WifiManager, а работает оперируя командами ядра через Runtime.
Проблема заключается в следующем:
Допустим, если пустить пинг какого-то узла, через несколько секунд, примерно 10-20, видимо из-за энергосбережения (система думает что WiFi находится в простои), в пинге начинаются сильные задержки, пока не разбудишь смартфон.
Как сделать так, что бы WiFi всегда пахал на максимуме независимо от нагрузки на него?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2012, 11:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос WiFi и энергосбережение (Программирование Android):

Подключение к WiFi - Программирование Android
Всем привет. Пытаюсь подключиться к открытой WiFI точке вот таким образом WifiConfiguration wifiConfig = new WifiConfiguration(); ...

включение wifi - Программирование Android
имеется такой код : import android.net.wifi.WifiManager; import android.os.Bundle; import android.app.Activity; import...

NETWORK_PROVIDER и Wifi - Программирование Android
Зачастую не может получить координаты по NETWORK_PROVIDER, но стоит включить Wifi и тут же ловит. Какая связь между Wifi и геолокацией по...

wifi чат - Программирование Android
Подскажите пожалуйста необходимо данные с ячейки передать на другой девайс через wifi изначально подключённые к одной сети. Заранее спасибо

Информация о WiFi сетях - Программирование Android
Мне нужно программно вычислить кол-во WiFi сетей в радиусе действия: 1. Если в зоне действия есть 2 или менее WiFi сетей - вернуть true ...

Передача данных по Wifi - Программирование Android
Всем доброго времени суток! Нуждаюсь в помощи... Пишу диплом на тему "Wifi осциллограф". Имеется такой wifi...

7
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
12.10.2012, 11:24 #2
я не уверен но посмотрите это
1
mks81
7 / 7 / 0
Регистрация: 12.10.2012
Сообщений: 51
12.10.2012, 21:03  [ТС] #3
Похоже что оно, вечером проверю...

Добавлено через 8 часов 23 минуты
Спасибо, ссылка помогла!
Немного потанцевав с бубном пришел к следующему решению:
Java
1
2
3
ContentResolver cr = getContentResolver();
int set = android.provider.Settings.System.WIFI_SLEEP_POLICY_NEVER;
android.provider.Settings.System.putInt(cr, android.provider.Settings.System.WIFI_SLEEP_POLICY, set);
Ну и соответственно в AndroidManifest.xml добавить:
XML
1
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
Может быть кому-то тоже пригодится...
0
alex_x_x
бжни
2449 / 1654 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
12.10.2012, 21:12 #4
Цитата Сообщение от YAUHEN Посмотреть сообщение
я не уверен но посмотрите это
да, скорее всего это правильный путь
google в ядро линукса специально для таких целей добавляли wakelock'и
идея в том, что когда начинается выполняться ваша программа - вы ставите wakelock, как только прекращаете - снимаете его
пока стоит wakelock - девайс не уйдет в энергосберегающий режим
ессно для пользователя это будет означают меньшее время работы девайса
1
mks81
7 / 7 / 0
Регистрация: 12.10.2012
Сообщений: 51
12.10.2012, 21:21  [ТС] #5
Пинг стал идти ровно, но не пойму почему, то ли точка доступа дает такой эффект, то ли смартфон(SGS+), то ли какие-то другие сервисы опрашивают чего-то в сети, периодически бывают провалы, буквально на 1пинг, а специфика моей программы этого позволять не должна, посему следующий вопрос:
Как заблокировать доступ к WiFi всех процессов, кроме моего?
0
alex_x_x
бжни
2449 / 1654 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
12.10.2012, 22:11 #6
mks81, это происходит именно в режиме ожидания, или вообще?
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.10.2012, 23:05 #7
Цитата Сообщение от mks81 Посмотреть сообщение
периодически бывают провалы, буквально на 1пинг,
это может быть даже по причине например вспышек на солнце или магнитных бурь
0
mks81
7 / 7 / 0
Регистрация: 12.10.2012
Сообщений: 51
14.10.2012, 16:07  [ТС] #8
Нет, это происходит в произвольные моменты времени, независимо от режима:
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
Ответ от 192.168.1.3: число байт=32 время=2мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=2мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=2мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=2мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=2мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=4мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=101мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=21мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=43мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=64мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=87мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=6мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=29мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=2мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=3мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=2мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=2мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=2мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=3мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=3мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=1мс TTL=64
Ответ от 192.168.1.3: число байт=32 время=2мс TTL=64
0
14.10.2012, 16:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2012, 16:07
Привет! Вот еще темы с ответами:

Работа в wifi сети - Программирование Android
Можете показать пример кода как подключиться к сети wifi и передавать файлы определённому пк или планшету?

Ожидание подключения wifi - Программирование Android
Включаю wifi и пытаюсь дождаться подключения. Идея следующая final class ConnectivityReceiver extends BroadcastReceiver { ...

Включение wifi роутера - Программирование Android
Доброго времени суток всем. На android никогда ничего не писал, но нужно срочно сделать небольшую программу: Включение wifi роутера по...

Управление звуком с ПК по WiFi - Программирование Android
Доброго времени суток. Вопрос встал такой: как управлять портом для наушников (звуком) нескольких телефонов (или просто разных...


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

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

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