我有一个 Activity
,我用 startActivity
启动了一个应用程序选择器。
问题:在用户选择首选邮件应用程序之前,我如何才能完成父 Activity ?
Uri uri = Uri.parse("mailto:" + "someone@mail.com")
.buildUpon()
.appendQueryParameter("subject", "subject")
.appendQueryParameter("body", "body")
.build();
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, uri);
startActivity(Intent.createChooser(emailIntent, "chooser Title"));
finish();
最佳答案
如前所述in this post ,您可以使用 IntentPicker 而不是 IntentChooser
Intent intentPick = new Intent();
intentPick.setAction(Intent.ACTION_PICK_ACTIVITY);
intentPick.putExtra(Intent.EXTRA_TITLE, "Launch using");
intentPick.putExtra(Intent.EXTRA_INTENT, emailIntent);
this.startActivityForResult(intentPick, REQUEST_CODE_MY_PICK);
// You have just started a picker activity,
然后您可以通过在 Activity 中添加以下回调方法来监听 Intent 选择的结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == REQUEST_CODE_MY_PICK) {
// start the activity the user picked from the list
startActivity(data);
//you can finish() your activity here
}
}
关于android - 调用 startActivity 方法时的 returnActivity 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40801547/