2013-02-04 56 views
8

的Android 4.0之前,你可以创建和覆盖在与TYPE_SYSTEM_OVERLAY任何应用程序,并获得触摸与FLAG_WATCH_OUTSIDE_TOUCH ...现在与Android 4,你不能接受的接触。系统覆盖的Android 4.0

基本上这个想法跟在这个应用程序, http://www.appbrain.com/app/smart-taskbar-%28sidebar%29/com.smart.taskbar 您可以保持您的应用程序打开,或始终在最上面。它会运行任何应用程序。

伊夫看着每一个地方,用于在Android 4.0中使用,但没有运气的信息,甚至源代码...现在...我知道肯定有应用程序,仍然做到这一点甚至在4.0 ...还有一个办法。有任何想法吗?

+0

“我知道确实有些应用程序仍然会在4.0版本中执行此操作” - 您引用的应用程序不需要使用“FLAG_WATCH_OUTSIDE_TOUCH”来实现其功能。 – CommonsWare

+0

即时猜测这是一个艰巨的任务.. – NightSkyCode

回答

8

我发现a full sample app here that works for 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文件。

+0

谢谢生病尝试这个!很好的发现。但是我试图导入项目到eclipse和完整的项目dosnt似乎在那里?帮助..此外,我得到了公认最好的答案 – NightSkyCode

+1

你的意思是你无法逃避http://www.jawsware.mobi/code_OverlayView/code/InteractiveOverlaySample.zip下载的项目? – StarPinkER

+1

@Maddawg在Eclipse中,您必须从现有来源创建新的Android项目。 – Micer