我可以以编程方式单击按钮以获得预定义的意图吗?
Posted
技术标签:
【中文标题】我可以以编程方式单击按钮以获得预定义的意图吗?【英文标题】:Can I click a button programmatically for a predefined intent? 【发布时间】:2011-08-07 18:48:24 【问题描述】:我需要点击意图 ACTION_SEND 的按钮。 这里不需要显示 UI。 我可以从 android 中的 MMS-SMSProvider 中获取“发送”按钮吗?
【问题讨论】:
【参考方案1】:您可以使用button.performClick()
方法以编程方式单击按钮。
【讨论】:
提示:使用 findViewById(R.id.your_button_id); 引用您的按钮;【参考方案2】:如果您的按钮包含任何动画,则您需要执行单击,然后在 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
【讨论】:
【参考方案3】:button.callOnClick();
这个也可以用
【讨论】:
要求 API 级别 15 或更高callOnClick()
不会发出我需要的咔哒声。当performClick()
发出声音时。以上是关于我可以以编程方式单击按钮以获得预定义的意图吗?的主要内容,如果未能解决你的问题,请参考以下文章