我正在创建一个实时聊天信使,就像LINE一样,我使用socket.io,但是当我的设备进入睡眠模式时,连接就会丢失。现在我使用PARTIAL_WAKE_LOCK解决了这个问题,但我读到它会影响电池寿命。还有另一种方法可以解决这个问题吗?
pd我也尝试使用onStartCommand START_STICKY,但这都不起作用。
提前感谢!!
这是我的代码的一部分
@Override
public void onCreate(){
handler = new Handler();
mSocket.connect();
localStorage = new LocalStorage(this);
String room = localStorage.getRoom();
mSocket.emit("join room", room);
mSocket.on("chat message", onNewMessage);
PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MessageService");
wl.acquire();
}
@Override
public void onDestroy(){
wl.release();
super.onDestroy();
mSocket.off("chat message", onNewMessage);
mSocket.disconnect();
}