【问题标题】:Android : Implement Broadcast Receiver for ClipboardManagerAndroid : 为 ClipboardManager 实现广播接收器
【发布时间】:2012-07-16 08:09:29
【问题描述】:

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

我听说ClipboardManager.OnPrimaryClipChangedListener() 会监听复制操作,但这不是接收器(据我了解)。我有一个sample application,这个应用程序背后的逻辑是,从系统启动启动服务并运行一个服务来监听复制操作,但我认为这会耗尽电池。我对吗?

那么我怎样才能实现一个可以监听复制动作的广播接收器。

【问题讨论】:

    标签: java android broadcastreceiver listener clipboardmanager


    【解决方案1】:

    这里是监听器:

    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() );
    

    【讨论】:

    • 这也是后台监听吗?就像我在我的应用程序中添加了这个监听器,用户运行我的应用程序,然后切换到另一个应用程序(我的应用程序将进入后台),那么如果用户在其他应用程序中执行复制,这个监听器将能够监听?
    • 是的,这将在后台监听剪贴板的变化(但如果用户切换到另一个应用程序,您必须确保您的应用程序正在运行)。调用侦听器后,从剪贴板获取数据并执行您想要的操作。
    • 还有一个问题(对此我很抱歉),这将与广播接收器一样,就像它们在后台工作一样,直到用户终止应用程序?或者这将一直有效,直到 Android 操作系统由于内存排序而从内存中杀死应用程序?
    • 这一直有效,直到操作系统从内存中杀死应用程序。如果您想模拟广播接收器行为,请创建一个服务。
    • 你能给我这个想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    相关资源
    最近更新 更多