onactivityresult()从未被调用过

时间:2015-06-30 07:40:46

标签: java android onactivityresult

我正在尝试从我的应用程序发送邮件。问题是在成功/不成功传递电子邮件之后它没有返回活动,这意味着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 。所有片段都强行关闭。你可以说我的应用程序正在进行背景。如何解决这个问题?任何人都有任何想法。

1 个答案:

答案 0 :(得分:0)

如果我正确理解你的问题,

在您的活动onActivityResult部分,您可以找到您的片段

YourFragment fragment = (YourFragment)getSupportFragmentManager().findFragmentById(R.id.your_framelayout_id);

并使用您片段的公开方法:

if(fragment != null)
{
   fragment.yourPublicMethod();   
}

在yourPublicMethod中,你可以做任何你想做的事。我希望这会对你有所帮助。