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


104

Мне нужно нажатие кнопки намерения ACTION_SEND. Здесь нет необходимости отображать UI. Могу ли я получить нажатие кнопки «Отправить» в MMS-SMSProvider в Android?

Ответы:



47

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

 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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.