我正在使用以下内容为PARTIAL_WAKE_LOCK
实例设置MediaPlayer
mMediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
我该如何发布?是在MediaPlayer.release()
完成的(我在文档中看不到任何相关内容)?
答案 0 :(得分:3)
它在MediaPlayer.release()
,MediaPlayer.stop()
和MediaPlayer.reset()
上发布。它还发布了onCompletion
和onError
。
在此处查看MediaPlayer
的来源:
看起来MediaPlayer.stayAwake()
负责,这将释放唤醒锁。
private void stayAwake(boolean awake) {
if (mWakeLock != null) {
if (awake && !mWakeLock.isHeld()) {
mWakeLock.acquire();
} else if (!awake && mWakeLock.isHeld()) {
mWakeLock.release();
}
}
mStayAwake = awake;
updateSurfaceScreenOn();
}
这是一种私有方法,但会在各种状态下调用,例如调用release()
stayAwake(false)
。
只需搜索mWakeLock
和stayAwake(false)
,您就会看到。我还检查了早在1.5,它是相同的。