[英]android - show Dialog styled activity over locked screen without unlocking
I am showing a popup screen when the screen is locked when some event happens. 当某个事件发生时屏幕被锁定时,我正在显示一个弹出屏幕。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
}
Problem is - after a lot of frustration I found this answer , saying that this doesn't work when the activity
is using a Theme.Dialog
. 问题是-经过很多挫败之后,我找到了这个答案 ,说当
activity
使用Theme.Dialog
时,此方法Theme.Dialog
。
I want my activity to not be full screen, its suppose to be more or less like a sms popup notification. 我希望我的活动不是全屏显示,它或多或少像是短信弹出通知。 how can I do that without the
Theme.Dialog
Theme? 没有
Theme.Dialog
主题怎么办?
Not sure if this is what you're looking for, but this wraped everything in the window that pops up for me: 不知道这是否是您要查找的内容,但这将所有内容包装在弹出的窗口中:
Key part of code is 'WRAP_CONTENT': 代码的关键部分是“ WRAP_CONTENT”:
WindowManager mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
View mView = View.inflate(getApplicationContext(), R.layout.dialogue_page, null);
WindowManager.LayoutParams mLayoutParams = new WindowManager.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 0, 0,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
PixelFormat.RGBA_8888);
mWindowManager.addView(mView, mLayoutParams);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.