I\'m writing a AccessibilityService
and I want to create view overlays on the views from the current activity that the accessibility service can retrieve. I have no
Drawing overlays over the window using accessibility services is easy. I know this is an old question, but I thought I'd add the answer anyway.
RelativeLayout relativeLayout = new RelativeLayout(getContext());
WindowManager.LayoutParams topButtonParams = new WindowManager.LayoutParams(
width, //The width of the screen
height, //The height of the screen
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
//Just trust me, this alpha thing is important. I know it's weird on a "translucent" view.
topButtonParams.alpha = 100;
relativeLayout.setLayoutParams(topButtonParams);
mWindowManager.addView(relativeLayout, topButtonParams);
Also, you need this permission in your manifest
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
Once you have an invisible relative layout overlay over the top of the entire screen, adding views to it is easy!
You cannot get the View
objects from other apps, as the View
objects are in a separate process from yours.