2012-05-24 1 views
6

Я ищу информацию о плавающих наложениях Не оверлеи карты, но накладываются над другими приложениями.Информация о плавающих наложениях/элементах в других приложениях

Например эти приложения делают то, что я ищу:

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

как использовать этот код? –