Чи можна натиснути кнопку програмно для попередньо визначеного наміру?


103

Мені потрібно натискання кнопки наміру ACTION_SEND. Тут не потрібно відображати інтерфейс користувача. Чи можу я натиснути кнопку "Відправити" з MMS-SMSProvider в Android?

Відповіді:



46

Якщо у вашій кнопці є будь-яка анімація, вам потрібно буде виконати клацання, а потім визнати недійсним кожен крок після виконанняClick. Ось як:

 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.