我使用了 AlertDialog ,但它只在 APP 打开时显示对话框。
如果APP在后台运行,则AlertDialog不会显示在顶部。
例如时钟APP。
时间到了,它会在顶部显示对话框或提示窗口。
APP在后台运行时如何在顶部显示对话框???
最佳答案
当您的应用处于后台时,您可以显示系统级警报。考虑使用以下代码来显示此类警报,例如
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT
| WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSPARENT);
params.height = WindowManager.LayoutParams.MATCH_PARENT;
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.format = PixelFormat.TRANSLUCENT;
params.gravity = Gravity.TOP;
LinearLayout ly = new LinearLayout(context);
ly.setBackgroundColor(Color.BLACK);
ly.setOrientation(LinearLayout.VERTICAL);
ImageView iv = new ImageView(context);
iv.setImageResource(R.drawable.ic_launcher);
ly.addView(iv);
TextView tv1 = new TextView(context);
tv1.setWidth(params.width);
tv1.setBackgroundColor(Color.BLUE);
ly.addView(tv1);
wm.addView(ly, params);
在 list 中添加权限
使用权限 android:name="android.permission.SYSTEM_ALERT_WINDOW"
关于android - APP后台运行时如何将对话框显示在最上面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19922393/