Kann ich programmgesteuert auf eine Schaltfläche klicken, um eine vordefinierte Absicht zu erhalten?

103

Ich brauche den Button-Klick der Absicht ACTION_SEND. Hier muss die Benutzeroberfläche nicht angezeigt werden. Kann ich den Klick "Senden" vom MMS-SMSProvider in Android erhalten?

die Info
quelle

Antworten:

241

Mit der button.performClick()Methode können Sie programmgesteuert auf eine Schaltfläche klicken .

Nirav Bhandari
quelle
46

Wenn Ihre Schaltfläche eine Animation enthält, müssen Sie den Klick ausführen und dann jeden Schritt nach performClick ungültig machen. Hier ist wie:

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

Gelegentlich musste ich auch eine Verzögerung einführen, damit die Animation angezeigt wird. So was:

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

Dieser kann auch verwendet werden

Blitz
quelle