所以我在活动 A 中有这个:
startActivityForResult(Intent.createChooser(share, "Share using"), 0);
它启动一个选择器以使用活动 B 共享某些内容。当活动 B 完成时,我希望活动 A 也完成,所以:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent){
super.onActivityResult(requestCode, resultCode, intent);
this.finish();
}
问题在于,当用户打开时按下后式按钮时,Active A完成……我不想发生。我曾尝试覆盖 Activity A 中的 onBackPressed 方法,但这似乎在选择器打开时不适用。请帮我。
更新:我应该提到活动 B 不在我的控制之下,并且是用户决定与之共享的任何内容。
更新2:问题是选择器活动和用户从选择器中选择的活动被认为是相同的活动,因此当用户关闭活动B(用于共享文本的活动)时,onActivityResult 得到相同的结果代码和与选择器活动中的 requestCode 相同。必须有办法解决这个问题,但我想不出。