Android 安卓标志\u锁定不工作时显示\u

Android 安卓标志\u锁定不工作时显示\u,android,Android,我试图通过锁屏获取我的应用程序,以获得用户的一些输入,但无法 这样做 我在onCreate和onAttachToWindow回调中尝试了以下几行,但似乎没有任何效果 Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 我检查了有关stackoverflow的大多数问题,它们都指向上述解决方案 我们需要使用任何许可吗?或者我遗漏了什么。 我正在处理一个根星系

我试图通过锁屏获取我的应用程序,以获得用户的一些输入,但无法
这样做

我在onCreate和onAttachToWindow回调中尝试了以下几行,但似乎没有任何效果

Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
我检查了有关stackoverflow的大多数问题,它们都指向上述解决方案

我们需要使用任何许可吗?或者我遗漏了什么。
我正在处理一个根星系S

下面建议的答案也不起作用…我现在唯一的选择是在清单中添加禁用keygaurd的权限并使用

KeyguardManager  myKeyGuard = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE); myLock = myKeyGuard.newKeyguardLock(); myLock.disableKeyguard();

我不想添加新权限,因为这将使我的应用程序以手动更新而不是自动更新的形式出现:(

这个问题的答案是


锁定时无法将浮动窗口与标记“显示”一起使用请注意,您的活动不应是对话框。 我在清单中定义:

<activity
    android:name="TestDialog"
    android:theme="@android:style/Theme.Dialog" >
</activity>

在我删除了主题之后,它工作了,活动显示在任何锁定屏幕上。
也许你可以借助样式
@android:style/Theme来模拟一个对话框。半透明的

我也有同样的问题,我可以确认问题是对话框主题。似乎属性android:windowIsFloating导致对话框没有显示在锁屏顶部。该属性是s在全息对话框主题中设置为
true

但如果您将Holo dialog主题衍生为自己的风格,如:

<style name="ReminderAlarmDialog" parent="@android:style/Theme.Holo.Dialog">
    <item name="android:windowIsFloating">false</item>
</style>

假的
对话框活动将显示在锁定屏幕的顶部。
唯一的问题:对话框将填满整个屏幕,因此看起来不太好。因此,它不是真正的解决方案,只是解释为什么对话框主题不起作用。

我遇到同样的问题,解决方案是删除活动中的
setType
行。(如果您已经添加了该行)


你的答案和我的答案有什么区别?你使用的是相同的代码,我只是使用LayoutParams。将我的代码放在正确的活动上,那么它肯定会工作。如果你有任何问题,那么你可以在这里阅读关于所有标志的内容。我希望你的答案可以工作,因为它不需要我负责启用和禁用keyguar另一方面,我的答案需要在清单中添加一个权限,并手动启用和禁用。那么,为什么你说它不起作用,你可以将我的答案作为参考,并通过谷歌了解我们如何在活动中使用这些标志来禁用没有任何权限的键盘保护实际上我已经尝试了a在发布问题之前,请回答您的建议。问题是这是“真的”。如果活动样式有此项,则窗口标志似乎不起作用。关于原因,请提供任何想法或文档参考。我们是否打算从服务中删除此“TestDialog”活动!!
@Override
public void onAttachedToWindow() {
    super.onAttachedToWindow();
    //getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}