Android的MediaPlayer类有一个很好的方法,可以让您设置一个觉醒:
mPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);我的问题是:这个觉醒是什么时候释放的?我打电话的时候会自动发生吗?
mPlayer.release();还是我漏掉了什么?
下面是该方法的官方文档:MediaPlayer.setWakeMode
发布于 2015-08-20 06:02:17
我的问题是:这个觉醒是什么时候释放的?我打电话的时候会自动发生吗? mPlayer.release();
是的。检查他们的来源,MediaPlayer.java。release()调用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();
}
public void release() {
stayAwake(false);
updateSurfaceScreenOn();
mOnPreparedListener = null;
mOnBufferingUpdateListener = null;
mOnCompletionListener = null;
mOnSeekCompleteListener = null;
mOnErrorListener = null;
mOnInfoListener = null;
mOnVideoSizeChangedListener = null;
mOnTimedTextListener = null;
if (mTimeProvider != null) {
mTimeProvider.close();
mTimeProvider = null;
}
mOnSubtitleDataListener = null;
_release();
}
private native void _release();https://stackoverflow.com/questions/32110262
复制相似问题