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);
}
}