我从AlarmManager onReceive调用服务,下面是实现。我想知道唤醒锁的这种实现是否正常,是否满足我的需求?
这是我的服务类中的onStart函数:
@Override
public void onStart(Intent intent, int startId) {
WakeLock wakeLock = null;
try{
PowerManager mgr = (PowerManager)getApplicationContext()
.getSystemService(Context.POWER_SERVICE);
wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire();
//For time consuming an long tasks you can launch a new thread here
Toast.makeText(this, " Service Started", Toast.LENGTH_LONG).show();
}catch(Exception e){
}finally{
wakeLock.release();
}
}
答案 0 :(得分:0)
wakelock.release()
。
您可能想查看CommonsWare的Wakeful service。该服务为您处理唤醒锁,确保您在服务期间有一个唤醒锁,并在您停止服务后立即释放它。