У меня есть приложение, которое общается с сервером. Я хочу, чтобы мое приложение считывало ТОЛЬКО входной поток сокета, когда для извлечения доступны новые данные.
В настоящее время я создаю таймер, который запланировал чтение входного потока сокета каждые 20 мс (опрос) с использованием класса SocketChannel java.nio.channels. Это не так хорошо, потому что это закончится чтением сокета, даже если нет доступных данных. И он быстро разряжает батарею.
Существует ли API для Android, который будет сообщать или отправлять флаг подключенному клиенту всякий раз, когда будут доступны новые данные, так что это единственный раз, когда я буду читать входные данные?