您的位置:首页 > 移动开发 > Android开发

关于androidpn消息推送客户端锁屏状态,无法发送心跳包解决方案

2016-02-01 11:18 645 查看
1、客户端锁屏状态,无法发送心跳包

解决方案:使用电源锁

客户端:NotificationService

增加属性:/**
* 设备电源锁。
*/
private PowerManager.WakeLock mWakeLock;
/**
* 申请设备电源锁
*/
private final void acquireWakeLock() {
if (mWakeLock == null) {
PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, this.getPackageName());
}
if (mWakeLock != null) {
mWakeLock.acquire();
Log.d(LOGTAG, "mWakeLock.acquire()");
}
}

/**
* 释放设备电源锁
*/
private final void releaseWakeLock() {
Log.d(LOGTAG, "releaseWakeLock");
if (mWakeLock != null) {
mWakeLock.release();
mWakeLock = null;
}
}

@Override
public void onStart(Intent intent, int startId) {
Log.d(LOGTAG, "onStart()...");
acquireWakeLock();
}

private void stop() {
Log.d(LOGTAG, "stop()...");
unregisterNotificationReceiver();
unregisterConnectivityReceiver();
xmppManager.disconnect();
executorService.shutdown();
releaseWakeLock();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: