我正在尝试从我的应用程序发送邮件。问题是在成功/不成功传递电子邮件之后它没有返回活动,这意味着onActivityResult()
没有被调用。
这是我的代码:
String[] recipients = {"soham@gmail.com"};
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
// prompts email clients only
email.setType("message/rfc822");
email.putExtra(Intent.EXTRA_EMAIL, recipients);
try{
// the user can choose the email client
startActivityForResult(Intent.createChooser(email, "Choose an email client from..."), 1);
}catch(android.content.ActivityNotFoundException ex){
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == 1){
if(resultCode == RESULT_OK){
}else if (resultCode == RESULT_CANCELED){
}
}
}
我查了this但没有为我工作。谁能告诉我我做错了什么。
修改
我遇到了问题。它在Activity中工作正常。但是它不能用于 Fragment 或 FragmentActivity 。所有片段都强行关闭。你可以说我的应用程序正在进行背景。如何解决这个问题?任何人都有任何想法。
答案 0 :(得分:0)
如果我正确理解你的问题,
在您的活动onActivityResult部分,您可以找到您的片段
YourFragment fragment = (YourFragment)getSupportFragmentManager().findFragmentById(R.id.your_framelayout_id);
并使用您片段的公开方法:
if(fragment != null)
{
fragment.yourPublicMethod();
}
在yourPublicMethod中,你可以做任何你想做的事。我希望这会对你有所帮助。