微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android的浮动窗口加上FLAG_SHOW_WHEN_LOCKED失败

我的应用程序在锁定屏幕之前向用户显示一个对话框.这是一个包含DialogFragments的简单Activity(来自支持库,因为此应用程序在2.2上运行).

由于显示这些对话框的实际活动不是Android标准的浮动窗口,

getwindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);

工作得很好.

但是,我在想我会使用一个看起来像Dialog的Activity.但是,所有Dialog主题(Holo等)都有这个项目:

<item name="android:windowIsFloating">true</item>

这由于某种原因导致窗口标志被完全忽略.有趣的是,用户锁屏幕后会显示活动.

为什么会如此,是否有办法绕过它?

解决方法

遇到同样的问题.在这个问题上似乎唯一有用的是
KeyguardManager  myKeyguard = (KeyguardManager)getSystemService(Context.KEyguard_SERVICE);
myLock = myKeyguard.newKeyguardLock("tagName");
myLock.disableKeyguard();

别忘了在清单中使用keyguard权限:

<uses-permission android:name = "android.permission.disABLE_KEyguard"/>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐