我想在锁屏前显示一个 Activity 。我在 onCreate 方法中尝试使用此代码:
super.onCreate(savedInstanceState);
Window window = getWindow();
window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
setContentView(R.layout.test);
这对于在整个屏幕上显示的 Activity 非常有用,但我想构建一个高度仅为 200 像素的 Activity。我以为我可以用这段代码匹配它:
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 是不可见的。如果我解锁手机, Activity 将直接显示。知道为什么以及如何解决这个问题吗?
编辑: 我认为这与窗口 float FLAG 有关。如果设置了这个标志(我认为当我改变大小时它会) Activity 不会显示在锁屏上。但这只是一个假设。有解决此问题的想法或解决方法吗?
最佳答案
我在设计我的音乐播放器时也有类似的要求。我最终为我的锁屏小部件做的是:
- 为我的锁屏小部件设置了透明背景。
- 在布局底部添加了一个按钮“单击以退出锁定屏幕”。
- 为了给人一种方框的感觉,在按钮周围添加了一个白色边界。
你可以从 Google Play 下载我的音乐播放器“Fusion Music Player”看看
关于android - 锁屏前特定高度的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18157339/