我正在寻找伪代码或真实代码。
我的目标是在两个边界之间的随机时间显示一个模态消息框(如"保持在顶部"和#34;不可绕过"),如t_in_minutes_minimum
和t_in_minutes_maximum
内容始终相同。
如果我没有点击,那么这些消息不应该堆积起来,而是在一段时间后关闭。
答案 0 :(得分:1)
您可以使用WindowManager api
在应用程序外创建警报窗口What is WindowManager in android?
代码段
WindowManager.LayoutParams p = new WindowManager.LayoutParams(
// Shrink the window to wrap the content rather than filling the screen
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
// Display it on top of other application windows, but only for the current user
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
// Don't let it grab the input focus
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
// Make the underlying application window visible through any transparent parts
PixelFormat.TRANSLUCENT);
// Define the position of the window within the screen
p.gravity = Gravity.TOP | Gravity.RIGHT;
p.x = 0;
p.y = 100;
WindowManager windowManager = (WindowManager)getSystemService(WINDOW_SERVICE);
windowManager.addView(myView, p);
将此添加到清单
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
对于自动关闭消息,您可以使用处理程序在时间增量后消除。
答案 1 :(得分:0)
制作一致的警报管理器服务类,并研究alert.dialogue活动。通过框显示消息后,请检查以下链接
Execute function after 5 seconds in Android
并调用finish();用于关闭消息框的功能。