Skip to content Skip to sidebar Skip to footer

Get View Of Accessibilitynodeinfo To Create Overlay

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 problems to retr

Solution 1:

You cannot get the View objects from other apps, as the View objects are in a separate process from yours.

Solution 2:

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.

RelativeLayoutrelativeLayout=newRelativeLayout(getContext());

WindowManager.LayoutParamstopButtonParams=newWindowManager.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-permissionandroid: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!

Post a Comment for "Get View Of Accessibilitynodeinfo To Create Overlay"