在锁定屏幕上显示 UI (Activity/WindowManager) 并支持 Oreo

Show UI (Activity/WindowManager) over lock screen & support in Oreo

我的主要目标是在锁定屏幕上显示 UI(使用 EditText,因此支持 IME)(无论是否有 PIN/Code 或简单的锁定屏幕)。

我知道 WhatsApp 应用程序正在执行此操作(设置 > 通知 > 始终显示弹出窗口),因此有一个解决方案。

UI 必须从服务初始化。

视图是一个简单的文本视图:

    textview = new TextView(this);
    textview.setText("Hello There!");
    textview.setTextColor(ContextCompat.getColor(this, 
    android.R.color.white));
    textview.setTextSize(32f);

到目前为止我已经尝试了几种方法: (为了像 whats app 一样重现,当屏幕关闭接收器被调用时我正在做所有事情)

还有其他建议吗?

谢谢。

将此添加到您的 Activity 的 onCreate() 中:

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
}