приемник трансляции буфера обмена Android - PullRequest
8 голосов
/ 06 января 2012

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

У меня есть этот кодкоторый дает тост, когда есть телефонный звонок

public class MyPhoneReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        Bundle extras = intent.getExtras();

        if (extras != null) {

            // this code is for to accept the telephone call
            String state = extras.getString(TelephonyManager.EXTRA_STATE);
            if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
                String phoneNumber = extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
                Toast.makeText(context, phoneNumber, Toast.LENGTH_SHORT).show();
            }
        }   
    }
}

и этот код в manifest.xml

<action android:name="android.intent.action.PHONE_STATE"></action>

теперь этот код говорит отправлять любое состояние телефона в класс myreciever сейчасЯ хочу получить текст из менеджера буфера обмена.существует ли какое-либо состояние intent.action, которое может вызывать myreciever класс, когда кто-то копирует текст.

Любая помощь или код будут оценены по достоинству.

Ответы [ 2 ]

14 голосов
/ 06 января 2012

Поскольку для буфера обмена теперь существует цель действия, вам нужно создать приемник широковещательной передачи, который будет запускаться при запуске приложения при первой загрузке устройства. А затем запустите службу для мониторинга состояния буфера обмена.

Это ИДЕАЛЬНЫЙ проект в коде Google, который покажет вам ТОЧНО, что делать.

Учебник My Clip

0 голосов
/ 28 мая 2012

Я согласен с "coder_For_Life22": " Так как теперь есть цель действия для буфера обмена, ... ".
Я нашел два способа мониторинга "буфера обмена":
1-Похоже на то, что говорит "coder_For_Life22".
2-Using " ClipboardManager.OnPrimaryClipChangedListener () ".
Но у них обоих есть проблемы :
Во-первых, если пользователь скопирует слово, например, «Текст», а затем (даже после того, как иногда и в другом приложении) снова скопирует то же слово, вы не сможете его обнаружить.
Второй способ, эторешение для использования Android 3.0 API 11 и не ниже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...