Search code examples
javaandroidbroadcastreceiverlistenerclipboardmanager

Android : Implement Broadcast Receiver for ClipboardManager


I want to implement a listener which will listen if some copied any thing from any application.

I heard about ClipboardManager.OnPrimaryClipChangedListener() which will listen copy action, but this is not a Receiver (As I understand). I got a sample application, logic behind this application is, start service from system boot and run a service which will listen Copy action, but I think this will drain the battery. Am I right?

So how can I implement a Broadcast receiver which can listen Copy action.


Solution

  • Here is the listener:

    class ClipboardListener implements ClipboardManager.OnPrimaryClipChangedListener
    {
       public void onPrimaryClipChanged()
       {
          // do something useful here with the clipboard
          // use getText() method
       }
    }
    

    Just register it:

    ClipboardManager clipBoard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
    clipBoard.addPrimaryClipChangedListener( new ClipboardListener() );