8

在 android 4.0 之前,您可以使用 TYPE_SYSTEM_OVERLAY 创建和覆盖任何应用程序并使用 FLAG_WATCH_OUTSIDE_TOUCH 进行触摸...现在使用 android 4 您无法接收触摸。

基本上这个想法遵循这个应用程序, http://www.appbrain.com/app/smart-taskbar-%28sidebar%29/com.smart.taskbar 你可以让你的应用程序保持打开状态,或者总是在顶部。它将在任何应用程序上运行。

我到处寻找信息甚至源代码以在 android 4.0 上使用,但没有运气......现在..我知道肯定有应用程序即使在 4.0 上仍然这样做......仍然有办法。有任何想法吗?

4

1 回答 1

8

我在这里找到了适用于 Android 4.0 的完整示例应用程序

这里是亮点:

要创建覆盖视图,在设置 LayoutParams 时不要 将类型设置为 TYPE_SYSTEM_OVERLAY。

而是将其设置为TYPE_PHONE

使用以下标志:

FLAG_NOT_TOUCH_MODAL

FLAG_WATCH_OUTSIDE_TOUCH

FLAG_NOT_TOUCH_MODAL << 这个很重要。没有它,焦点将被赋予覆盖和软键(主页、菜单等)按下不会传递给下面的活动。

还要确保将SYSTEM_ALERT_WINDOW权限添加到 mainifest 文件。

于 2013-02-13T02:31:05.103 回答