Iori
Iori

Reputation: 660

android clipboard broadcast receiver

I want to make a simple service, (which will run in the background) when any user copies anything from the browser or sms etc., there will be a toast showing that text

I have this code which gives toast when there is a phone call

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

and this code in manifest.xml

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

now this code tell to send any phone state to the myreciever class now I want to get text from clipboard manager. is there any intent.action state which can call myreciever class when someone copies text.

Any kind of help or code will be appreciated.

Upvotes: 8

Views: 8977

Answers (2)

hasanghaforian
hasanghaforian

Reputation: 14022

I'm agree with "coder_For_Life22":"Since there is now Action intent for clipboard, ...".
I found two ways for monitoring "clipboard":
1-A way like what says "coder_For_Life22".
2-Using "ClipboardManager.OnPrimaryClipChangedListener()" method.
But both of them have issues :
In first way if user copy a word for example "Text" and then (even after sometimes and in another App) again copy the same word,you can not detect it.
Second way, is a solution for using android 3.0 api 11 and not lower.

Upvotes: 0

coder_For_Life22
coder_For_Life22

Reputation: 26981

Since there is now Action intent for clipboard, what you will need to do is create a broadcast receiver to start when your app is started on when the device first boots up. And then start a service to monitor the state of the clipboard.

This is a PERFECT project on google code that will show you EXACTLY what to do.

My Clip tutorial

Upvotes: 14

Related Questions