117

I need the button click of the intent ACTION_SEND. Here there is no need of displaying UI. Can I get the "Send" button click from the MMS-SMSProvider in Android?

Zoe
  • 27,060
  • 21
  • 118
  • 148
info
  • 2,152
  • 5
  • 22
  • 38

3 Answers3

277

You can click a button programmatically by using the button.performClick() method.

laalto
  • 150,114
  • 66
  • 286
  • 303
Nirav Bhandari
  • 4,550
  • 6
  • 32
  • 59
53

If your button includes any animation, you'll need to perform the click and then invalidate each step after performClick. Here's how:

 button.performClick();
 button.setPressed(true); 
 button.invalidate(); 
 button.setPressed(false); 
 button.invalidate(); 

On occasion I've also had to introduce delay to get the animation to show. Like this:

 //initiate the button
 button.performClick();
 button.setPressed(true); 
 button.invalidate(); 
 // delay completion till animation completes
 button.postDelayed(new Runnable() {  //delay button 
     public void run() {  
        button.setPressed(false); 
        button.invalidate();
        //any other associated action
     }
 }, 800);  // .8secs delay time
PeteH
  • 1,870
  • 25
  • 23
11
button.callOnClick();

this one can also be used

Flash
  • 1,105
  • 14
  • 16