Могу ли я нажимать кнопку программно для предопределенного намерения?

Мне нужен щелчок кнопки намерения ACTION_SEND.. Здесь нет необходимости отображать пользовательский интерфейс. Могу ли я нажать кнопку "Отправить" на MMS-SMSProvider в андроиде?

Ответ 1

Вы можете нажать кнопку программно, используя метод button.performClick().

Ответ 2

Если ваша кнопка включает любую анимацию, вам нужно будет выполнить щелчок, а затем сделать недействительным каждый шаг после выполнения команды. Вот как:

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

Иногда мне приходилось вводить задержку, чтобы показать анимацию. Вот так:

 //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