Android:为ClipboardManager实现广播接收器


问题内容

我想实现一个侦听器,如果有人从任何应用程序复制了任何东西,它将监听。

我听说有ClipboardManager.OnPrimaryClipChangedListener()哪个将侦听复制操作,但这不是接收方(据我了解)。我有一个示例应用程序,该应用程序背后的逻辑是,从系统启动启动服务并运行一个服务,该服务将侦听“复制”操作,但是我认为这会耗尽电池。我对吗?

因此,我该如何实现可以监听复制动作的广播接收器。


问题答案:

这是监听器:

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

只需注册:

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