Android: реализовать широковещательный приемник для ClipboardManager

#java #android #service #clipboard #foreground-service

#java #Android #broadcastreceiver #слушатель #ClipboardManager

Вопрос:

Я хочу реализовать прослушиватель, который будет прослушивать, если кто-то скопировал что-либо из любого приложения.

Я слышал о ClipboardManager.OnPrimaryClipChangedListener() том, что будет прослушивать действие копирования, но это не приемник (насколько я понимаю). У меня есть пример приложения, логика этого приложения заключается в том, чтобы запустить службу при загрузке системы и запустить службу, которая будет прослушивать действие копирования, но я думаю, что это разрядит батарею. Я прав?

Итак, как я могу реализовать широковещательный приемник, который может прослушивать действие копирования.

Ответ №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() );
  

Комментарии:

1. Это тоже прослушивание из фона? например, если я добавлю этот прослушиватель в свое приложение, пользователь запустит мое приложение, а затем переключится на другое приложение (мое приложение будет работать в фоновом режиме), тогда этот список сможет прослушивать, если пользователь выполнит копирование в другом приложении?

2. Да, это будет прослушивать в фоновом режиме изменения буфера обмена (но вы должны убедиться, что ваше приложение запущено, если пользователь переключается на другое). После вызова прослушивателя извлеките данные из буфера обмена и делайте то, что хотите.

3. Еще один вопрос (прошу прощения за это), это будет действовать так же, как широковещательный приемник, как будто они работают в фоновом режиме, пока пользователь не убьет приложение? Или это будет работать до тех пор, пока ОС Android не удалит приложение из памяти из-за сортировки памяти?

4. Это работает до тех пор, пока ОС не уничтожит приложения из памяти. Создайте сервис, если вы хотите имитировать поведение широковещательного приемника.

5. Можете ли вы дать мне идею, плиз?