android-Keyguard Manager无法正常工作

android-Keyguard Manager无法正常工作,第1张

概述我在活动中使用KeyguardManager来解锁设备,但是它的行为很奇怪.我用两种设备对其进行了测试,在Nexus上运行正常,但在三星GalaxyS上则无法运行.我的代码是:PowerManagerpm=(PowerManager)ctx.getSystemService(Context.POWER_SERVICE);WakeLockwakeLock=pm.newWakeLock

我在活动中使用Keyguard Manager来解锁设备,但是它的行为很奇怪.我用两种设备对其进行了测试,在Nexus上运行正常,但在三星galaxy S上则无法运行.

我的代码是:

PowerManager pm = (PowerManager) ctx.getSystemService(Context.POWER_SERVICE);WakeLock wakeLock = pm.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FulL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP),"mini");wakeLock.acquire();KeyguardManager keyguardManager = (KeyguardManager) ctx. getSystemService(Context.KEyguard_SERVICE);keyguardlock keyguardlock = keyguardManager.newkeyguardlock("mini");keyguardlock.disableKeyguard();

谁能帮忙?

解决方法:

我找到了这个解决方案,其中mContext是您活动的上下文,我在活动之外使用它.

    if (androID.os.Build.VERSION.SDK_INT <= androID.os.Build.VERSION_CODES.FROYO) {            // only for gingerbread and newer versions            ((Activity) mContext).getwindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);            ((Activity) mContext).getwindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);            ((Activity) mContext).getwindow().addFlags(WindowManager.LayoutParams.FLAG_disMISS_KEyguard);            KeyguardManager manager (KeyguardManager) mContext.getSystemService(Context.KEyguard_SERVICE);            keyguardlock lock = manager.newkeyguardlock("abc");            lock.disableKeyguard();    } else {        KeyguardManager km = (KeyguardManager) mContext.getSystemService(Context.KEyguard_SERVICE);        keyguardlock keyguardlock = km.newkeyguardlock("TAG");        ((Activity) mContext).getwindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);        ((Activity) mContext).getwindow().addFlags(WindowManager.LayoutParams.FLAG_disMISS_KEyguard);        keyguardlock.disableKeyguard();        PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);        WakeLock wakeLock = pm.newWakeLock(PowerManager.FulL_WAKE_LOCK                     | PowerManager.ACQUIRE_CAUSES_WAKEUP                     | PowerManager.ON_AFTER_RELEASE                     | PowerManager.SCREEN_BRIGHT _WAKE_LOCK, "MyWakeLock");        wakeLock.acquire();    }
总结

以上是内存溢出为你收集整理的android-Keyguard Manager无法正常工作全部内容,希望文章能够帮你解决android-Keyguard Manager无法正常工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1086897.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存