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?

Jawaban:


241

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


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

5
button.callOnClick();

yang ini juga bisa digunakan

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.