How to show screen overlay in Android

Updated 31 May 2019

Save

What is Screen Overlay?

Screen Overlay is a feature of the Android operating system that allows the applications to draw some layouts over the other applications. The most seen example of this feature is Facebook Messanger. Whenever you receive a message the chat head appears over any application and the user can easily see that whose message it is and can directly reply to it. The feature is supported by Android 23 and above.

Permissions Needed

Obviously, when your application starts to draw over other application’s UI then it is really going to interrupt the user while surfing the other application. Your application needs special permission from the user to do so. You must have seen the popup when you started using Facebook Messanger. You can see the screenshot below to the get the idea of the layout that appears when an app requests for permission.

If you also want your application to request this to a user then the below-provided code snippet will help you with that.

After this request, if the user permits your application then you will be able to draw over other apps.

How to draw Screen Overlay

1) First of all, Create a LayoutParams variable to define the overlay type, width, height, flags, etc.

2)Now we need a layout that will be inflated on the device window. Suppose we have a layout test.xml which looks something like.

and get the view that needs to be inflated

3) And now, you need to add this view on the screen using the WindowManager class.

How to remove Screen Overlay

To remove the screen overlay, you need to use the remove function of the same WindowManager class

 

You can play with the layouts and overlay types to get different results.

That’s all for this blog. Thank you very much. This is Vedesh Kumar signing off.

author
. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


4 comments

  • James Edwards
    • Vedesh Kumar (Moderator)
  • NR
    • rishabh sharma (Moderator)
  • Start a Project


      Message Sent!

      If you have more details or questions, you can reply to the received confirmation email.

      Back to Home