【发布时间】:2015-05-14 02:52:36
【问题描述】:
我有一个系统覆盖窗口,一个类似于 Facebook 聊天头的浮动视图。
当用户按下窗口时,会启动一个 Activity 来显示内容。
问题是如果用户通过按主页按钮离开我的应用程序,那么由于系统限制(https://code.google.com/p/android/issues/detail?id=4536),Activity 无法在 5 秒内启动。 Activity 会在 5 秒后显示。
我在之前的 SO 问题上没有找到任何解决方案。但是,有一个应用程序,Link Bubble,可以解决这个问题。当用户按下浮动气泡视图时,总是可以立即弹出一个 Activity。
有人知道怎么做吗?
这是我的系统覆盖窗口的 LayoutParams:
windowParams = new WindowManager.LayoutParams(
width, height,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED |
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
PixelFormat.TRANSLUCENT);
windowParams.gravity = Gravity.TOP | Gravity.LEFT;
windowParams.x = 0;
windowParams.y = 0;
我得到了 WindowManager
windowManager = (WindowManager) getApplicationContext().getSystemService(WINDOW_SERVICE);
并添加浮动视图
windowManager.addView(MY_VIEW, windowParams);
MY_VIEW 有一个 OnTouchListener 在用户按下它后启动一个 Activity。
【问题讨论】:
标签: android android-activity android-service