我想在锁屏前显示一个活动。我在我的 onCreate 方法中尝试使用此代码:
super.onCreate(savedInstanceState);
Window window = getWindow();
window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
setContentView(R.layout.test);
这对于在整个屏幕上显示的活动非常有用,但我想构建一个只有 200 像素高的活动。我想我可以用这段代码匹配它:
super.onCreate(savedInstanceState);
Window window = getWindow();
LayoutParams layout = new WindowManager.LayoutParams();
layout.copyFrom(window.getAttributes());
layout.height = 200;
window.setAttributes(layout);
window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
setContentView(R.layout.test);
但随后 Activity 在锁屏前不可见。如果我解锁手机,则直接显示活动。任何想法为什么以及如何解决这个问题?
编辑:我认为这与窗口浮动标志有关。如果设置了这个标志(我认为当我改变大小时会设置),则活动不会显示在锁屏上。但这只是一个假设。有什么想法或解决方法来解决这个问题吗?