Android 安卓&x27;当锁定失败时,s浮动窗口加上标志显示
我的应用程序在锁定屏幕前向用户显示一个对话框。这是一个包含DialogFragments的简单活动(来自支持库,因为此应用程序在2.2+上运行) 根据Android的标准,显示这些对话框的实际活动不是一个浮动窗口Android 安卓&x27;当锁定失败时,s浮动窗口加上标志显示,android,user-interface,styles,Android,User Interface,Styles,我的应用程序在锁定屏幕前向用户显示一个对话框。这是一个包含DialogFragments的简单活动(来自支持库,因为此应用程序在2.2+上运行) 根据Android的标准,显示这些对话框的实际活动不是一个浮动窗口 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 很好 然而,我想我应该使用一个看起来像对话框的活动。但是,所有对话框主题(全息图等)都有以下项目: <item name="andro
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
很好
然而,我想我应该使用一个看起来像对话框的活动。但是,所有对话框主题(全息图等)都有以下项目:
<item name="android:windowIsFloating">true</item>
true
由于某些原因,这会导致完全忽略窗口标志。有趣的是,活动在用户解锁屏幕后显示
为什么会这样,有办法解决吗 也有同样的问题。在这个问题上唯一有效的办法是
KeyguardManager myKeyGuard = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
myLock = myKeyGuard.newKeyguardLock("tagName");
myLock.disableKeyguard();
不要忘记在清单中使用keyguard权限:
<uses-permission android:name = "android.permission.DISABLE_KEYGUARD"/>
同样的问题。。。你能找到任何解决办法吗?我最终坚持使用一个活动,该活动会启动一个不可取消的对话框,并将键盘防护完全从我的应用程序中禁用。有同样的问题,我想让“transperant”活动在锁屏上可见,但似乎不是possible@ShirishHerwade我几乎可以肯定这是因为keyguard是一个安全组件,只允许系统应用程序在其上绘制。@a--C我认为除了keyguard之外,即使是系统应用程序也不能在锁屏上绘制任何东西,因为我的是一个系统应用程序,仍然不能在锁屏上显示文本。如果您知道的话,请提供帮助。这是一个不推荐使用的API,但它在某种程度上可以工作,所以它仍然需要一些工作来获得一致的结果。然而,这似乎是我们能做的最好的了。非常有用的答案。遗憾的是,由于有一种“更好”的方法来做你想做的事情,所以这种方法被弃用,只有“更好”的方法在每种情况下都不如“更差”的方法有效。有人找到更好的解决方案吗?这个解决方案确实解锁了屏幕,我想保持屏幕锁定,并像whatsapp消息一样显示对话框。这似乎是可能的,因为whatsapp确实有这个功能