首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么没有重新启用Keyguard?

为什么没有重新启用Keyguard?
EN

Stack Overflow用户
提问于 2014-12-03 17:05:21
回答 1查看 216关注 0票数 0

我有一个后台视频录制服务,在此期间我禁用了Keyguard。当我想要停止录制时,我会停止服务并调用OnDestroy()。

我可以在我的跟踪中看到调用了ReenableKeyguard()。但是,在我“强制停止”启动服务的主机应用程序之前,Keyguard仍然是禁用的。

是什么原因导致键盘守卫在调用ReenableKeyguard()时保持禁用状态?

这是销毁Service并重新启用keyguard的代码。(它是C#/Xamarin,但与Java基本相同)

代码语言:javascript
复制
    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);
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2015-03-01 14:11:49

代码语言:javascript
复制
I have the exact same problem and the reason was that i had only permissions to Disable keyguard and not the ones to re-enable it.

android.permission.DISABLE_KEYGUARD android.permission.ENABLE_KEYGUARD

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27267515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档