0
我有一項服務可以做後臺視頻錄製,在此期間我禁用了鍵盤鎖。當我想停止錄製時,我停止服務並調用OnDestroy()。爲什麼Keyguard未被重新啓用?
我可以在我的蹤跡中看到ReenableKeyguard()
被調用。但是,在我「強制停止」啓動服務的主機應用程序之前,鍵盤仍然處於禁用狀態。
當調用ReenableKeyguard()
時,可能導致鍵盤保持禁用狀態?
這是破壞服務並重新啓用快捷鍵的代碼。 (它的C#/ Xamarin但基本相同的Java)
public override void OnDestroy()
{
Tracer.Trace("BackgroundVideoRecorder::OnDestroy();");
base.OnDestroy();
try
{
camera.Reconnect();
mediaRecorder.Stop();
mediaRecorder.Reset();
camera.StopPreview();
mediaRecorder.Release();
camera.Release();
camera = null;
if (Common.KeyGuardLocker != null)
{
Tracer.Trace("BackgroundVideoRecorder::OnDestroy() - ReenableKeyguard()");
Common.KeyGuardLocker.ReenableKeyguard();
}
windowManager.RemoveView(surfaceView);
}
catch (Exception ex)
{
Tracer.Trace(ex);
}
}