android - 在锁定屏幕上显示 Dialogfragment

标签 android dialog fragment lockscreen keyguard

我正在尝试在锁定屏幕上显示 DialogFragment。 这必须在用户通过新的键盘锁小部件功能触发操作时发生。

特别是它显示了一个时间选择器对话框,但用户只有在解锁屏幕时才能看到它。即使屏幕已锁定,我如何设法显示它?

我已经尝试了这些标志的所有组合,但没有成功:

AlertDialog dialog = dBuilder.create();
    Window window = dialog.getWindow();

    window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
            + WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
            + WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
            + WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

这在 onCreateView 中调用。

感谢您的支持!

最佳答案

对话框窗口不显示在锁定屏幕上,因为它们是 float 窗口,我无法告诉您 Android 不显示它们的实际原因,但这可能与绘制底层锁定屏幕组件有关,因为就所有 Intent 和目的而言,这些都是“安全组件”。

之前处理过你的问题,我最后做的是做一个单独的 Activity ,使用 Activity.getWindow().setFlags() 将你上面的窗口标志设置到 Activity 的窗口,然后显示我的对话框 fragment 。它不是很漂亮,但它似乎是在正确设置时可靠 工作的最接近的东西。幸运的是,在 UI 方面,您可以将 Activity 的主题设置为 Theme.Wallpaper.NoTitleBar,这看起来很不错。

关于android - 在锁定屏幕上显示 Dialogfragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13756524/

相关文章:

android - 是否有SDK可以记录生产应用中的异常,事件和错误?

Android 的自定义对话框大小不够大

c++ - 如何在单独的线程中创建带有进度条的 MFC 对话框?

windows - Excel : File Open Dialog in VBA that is set to Detail View and sorted by Date Modified

android - 跨平台应用程序开发堆栈来同时解决 pc 和移动?

java - 在 HTTPResponse Android 中进行重定向

java - Fragment Activity 中的 Android 电池统计信息

java - 当 viewpager fragment 的用户 "swipes out"时运行代码?

android - 将 fragment 加载到Kotlin的 fragment 中

android - 有没有办法直接访问 Android 中显示器像素的颜色?