我正在尝试通过意图发送电子邮件,我想在邮件成功发送后调用API或Web服务。我怎么能这样做?
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri data = Uri.parse("mailto:?subject=" + emailSubject
+ "&body=" + genericText + " " + genericLink);
intent.setData(data);
startActivityForResult(intent, MAIL_CODE);
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK) {
// do some task
}
}
答案 0 :(得分:1)
试试这个
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(requestCode==1)
{
if(requestCode==1 && resultCode==Activity.RESULT_OK)
{
Log.e("Mail sent.", e+"");
}
else if (requestCode==1 && resultCode==Activity.RESULT_CANCELED)
{
Log.e("Mail Cancelled.", e+"");
}
else
{
Toast.makeText(this, "Plz try again.", Toast.LENGTH_SHORT).show();
}
}
}
答案 1 :(得分:0)
我正在尝试通过意图发送电子邮件,我想在邮件成功发送后调用API或Web服务。我怎么能这样做?
你不能。
首先,您的Intent
结构不是一个很好的选择。使用ACTION_SENDTO
和mailto:
式请求的相应附加内容。不要假设所有电子邮件客户端都支持ACTION_VIEW
您的特定网址结构。
其次,ACTION_VIEW
和ACTION_SENDTO
都不适用于startActivityForResult()
;他们的JavaDoc条目表明它们没有输出。
第三,用户实际上不必发送电子邮件。所有ACTION_SENDTO
都会调出一个电子邮件客户端;用户在那时所做的事情取决于用户,而不是你。