Android 在锁屏上显示UI(活动/窗口管理器)&;奥利奥的支持

Android 在锁屏上显示UI(活动/窗口管理器)&;奥利奥的支持,android,android-layout,android-windowmanager,Android,Android Layout,Android Windowmanager,我的主要目标是在锁屏上显示UI(带有EditText,所以IME支持)(无论是PIN/代码还是简单的锁屏) 我知道WhatsApp应用程序正在这样做(设置>通知>总是显示弹出窗口),所以有一个解决方案 必须从服务初始化UI 该视图是一个简单的文本视图: textview = new TextView(this); textview.setText("Hello There!"); textview.setTextColor(ContextCompat.getColor(t

我的主要目标是在锁屏上显示UI(带有EditText,所以IME支持)(无论是PIN/代码还是简单的锁屏)

我知道WhatsApp应用程序正在这样做(设置>通知>总是显示弹出窗口),所以有一个解决方案

必须从服务初始化UI

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

    textview = new TextView(this);
    textview.setText("Hello There!");
    textview.setTextColor(ContextCompat.getColor(this, 
    android.R.color.white));
    textview.setTextSize(32f);
到目前为止,我已经尝试了几种方法: (为了复制像什么样的应用程序,当屏幕关闭接收器调用时,我正在做所有事情)

  • 使用WindowManager

    WindowManager参数:

    params=新建WindowManager.LayoutParams( WindowManager.LayoutParams.WRAP_内容, WindowManager.LayoutParams.WRAP_内容, WindowManager.LayoutParams.TYPE\u应用程序\u覆盖, WindowManager.LayoutParams.FLAG\u不可聚焦 |WindowManager.LayoutParams.FLAG_NOT_TOUCH_model |WindowManager.LayoutParams.FLAG_锁定时显示 |WindowManager.LayoutParams.FLAG\u保持屏幕\u打开 |WindowManager.LayoutParams.FLAG\u打开屏幕 |WindowManager.LayoutParams.FLAG\u WATCH\u Out\u TOUCH, 像素格式(半透明); params.gravity=gravity.BOTTOM; 参数屏幕亮度=0

    Result: TextView is shown only after we unlock the device
    
  • 使用透明活动 活动方式:

    符合事实的 @android:彩色/透明 @空的 符合事实的 符合事实的 错误的

    此外,还有android:showOnLockScreen=“true”属性

    Result: TextView is shown only after we unlock the device
    
还有其他建议吗

谢谢。

将此添加到活动的
onCreate()

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
}
将此添加到活动的
onCreate()

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

不推荐使用锁定时标记“显示”。还有其他选择吗?检查这个@Sagarnayakt链接可以用于活动,但我在一个窗口管理器的内部服务部门工作。所以我不认为我可以在不推荐使用锁定时使用此.FLAG\u SHOW\u。还有其他选择吗?检查这个@Sagarnayakt链接可以用于活动,但我在一个窗口管理器的内部服务部门工作。所以我想我不能用这个。