나는 chat.my 코드에 인터넷 연결을 관리하는 스레드가 있습니다. 몇 분 후에 내 스레드가 잠이 든다. 나는 CPU와 스레드를 깨울 때 WakeLock
을 사용해야한다고 알고 있습니다. 하지만 아래 코드를 사용하면 배터리 사용량이 늘어납니다.안드로이드에서 인터넷 연결을 계속 사용하십시오.
if (mWakeLock == null) {
mWakeLock = pm.newWakeLock(
PowerManager.PARTIAL_WAKE_LOCK,
"NewOnlineSignalingPowerManagerTag");
}
if (mWifiLock == null) {
mWifiLock = wm.createWifiLock(
WifiManager.WIFI_MODE_FULL,
"NewOnlineSignalingWifiManagerTag");
}
if (!mWakeLock.isHeld()) {
logging.l("mWakeLock.acquire()");
mWakeLock.acquire();
}
if (!mWifiLock.isHeld()) {
logging.l("mWifiLock.acquire()");
mWifiLock.acquire();
}
내가 더 나은 방법을 원하십니까?
웨이크 잠금 장치를 제거하는 것이 좋습니다. 사용자가 답장을 받으면 앱이 사용자에게 알림을 보내야합니다. –
휴대 전화를 사용하지 않으면 스레드가 끊어지고 TCP 연결이 끊어집니다. 따라서 데이터를받을 수 없습니다. –
데이터 수신에 서비스를 사용하고 있습니까? –