Android:如何在任何事物(任何活动)之上免费绘制

如何在所有其他活动的基础上绘制视图,无论它们显示什么,不使用透明活动或使用其触摸事件。

它喜欢在屏幕上显示所有其他应用程序顶部的自定义图标,当您触摸它时会做出反应,但您仍然可以触摸屏幕上的其他视图。

示例:Facebook聊天头显示屏幕上的可拖动和可点击图标,无论您是在主屏幕还是应用程序菜单或任何应用程序,无论您在做什么。 您仍然可以单独单击聊天头图标和背景应用程序元素

该怎么做?

Solutions Collecting From Web of "Android:如何在任何事物(任何活动)之上免费绘制"

看看这篇很酷的文章,我认为这正是你想要的:

http://www.piwai.info/chatheads-basics

简而言之:您希望将此权限添加到清单中:

 

对于api> = 23 ,您需要请求运行时权限Settings.ACTION_MANAGE_OVERLAY_PERMISSION

然后在服务中,获取窗口管理器

 windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); 

并使用addView方法添加视图

看看WindowManager 。 你可以做一些像(WindowManager)mContext.getSystemService("window"); 如果要获取根视图并使用方法addView(view, params)如果要添加视图。