нужен ли wake_lock для работы моего приложения
Как правило, да. Если ваше сетевое соединение через мобильные данные, и , если , у вас есть открытый сокет к серверу, и , если , этот сервер отправляет вам пакеты, это разбудит телефон вкратце. Однако для выполнения любой серьезной работы вам необходимо приобрести WakeLock
. И если любое из выделенных курсивом , если утверждения выше не соответствуют действительности, то вам нужно WakeLock
, пока вы пытаетесь поддерживать это соединение.
Следовательно, рассмотрите возможность переключения на C2DM для push-уведомлений.
Смогу ли я сделать это только с частичным wake_lock?
Частичного WakeLock
должно быть достаточно.
мне понадобится дополнительная блокировка Wi-Fi, если это делается под Wi-Fi?
Да.
есть ли способ, чтобы я мог подключить сокет не под Wi-Fi (даже если пользователь включил Wi-Fi), поэтому мне не нужно блокировать Wi-Fi и тратить энергию?
Не совсем. Вы запрашиваете сокет соединения. Вы используете любую активную сеть в данный момент.
или розетка удобно делать только под 3g / 4g или может изящно выродиться с wifi до 3g / 4g?
Сетевое подключение изящно возвращается к мобильным данным, если WiFi отключается или иным образом становится недоступным. Однако сокетные соединения не делают. Если у вас есть сокетное соединение по Wi-Fi и WiFi отключается, ваша розетка закрыта, и вам нужно будет снова открыть ее в новой сети.