Dapatkah saya mengklik tombol secara terprogram untuk maksud yang telah ditentukan sebelumnya?

103

Saya membutuhkan klik tombol dari maksud ACTION_SEND. Di sini tidak perlu menampilkan UI. Bisakah saya mendapatkan klik tombol "Kirim" dari MMS-SMSProvider di Android?

info
sumber

Jawaban:

241

Anda dapat mengklik tombol secara terprogram dengan menggunakan button.performClick()metode ini.

Nirav Bhandari
sumber
46

Jika tombol Anda menyertakan animasi apa pun, Anda harus melakukan klik dan kemudian membatalkan setiap langkah setelah performClick. Begini caranya:

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

Kadang-kadang saya juga harus memperkenalkan penundaan untuk menampilkan animasi. Seperti ini:

 //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
sumber
5
button.callOnClick();

yang ini juga bisa digunakan

Flash
sumber