2012-05-24 31 views
6

我在查找有关浮动覆盖的一些信息 没有叠加mapView,而是叠加在其他应用上。有关浮动覆盖/元素优于其他应用的Android信息

例如这些应用程序在做什么,我在寻找:

https://play.google.com/store/apps/details?id=com.pvy.batterybar

https://play.google.com/store/apps/details?id=ds.cpuoverlay

它们显示在屏幕前方的元素,即使我们不是在应用

我尝试了一些搜索,但没有找到任何东西。

是否有人知道在哪里可以找到一些API文档,教程链接,一段代码...

感谢

+0

我也发现: https://play.google.com/store/apps/details?id=com.rootuninstaller.rambooster它检测点击并发起一些动作 – yuuzhantar

回答

0

为了做到这一点,你需要一个许可“android.permission.SYSTEM_ALERT_WINDOW”。在清单文件中添加权限后,请执行如下操作:

final WindowManager.LayoutParams param=new WindowManager.LayoutParams(); 
param.flags=WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; 
final View view=findViewById(R.id.my_floating_view); 
final ViewGroup parent=(ViewGroup)view.getParent(); 
parent.removeView(view); 
param.format=PixelFormat.RGBA_8888; 
param.type=WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; 
param.gravity=Gravity.TOP|Gravity.LEFT; 
param.width=view.getLayoutParams().width; 
param.height=view.getLayoutParams().height; 
final WindowManager wmgr=(WindowManager)getApplicationContext().getSystemService(Context.WINDOW_SERVICE); 
wmgr.addView(view,param); 

另外,我相信这是Facebook聊天头的完成方式。希望有所帮助!

+0

如何使用此代码? –