だから私はアクティビティ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();
}
問題は、セレクターが開いているときにユーザーが戻るボタンを押すと、アクティビティ A が終了することです...これは発生したくありません。アクティビティ A で onBackPressed メソッドを上書きしようとしましたが、セレクターが開いているときは適用されないようです。私を助けてください。
更新: アクティビティ B は私の管理下になく、ユーザーが共有することを決定したものであることに言及する必要があります。
更新 2: 問題は、チューザー アクティビティと、ユーザーがチューザーから選択したアクティビティが同じアクティビティと見なされるため、ユーザーがアクティビティ B (テキストを共有するために使用されるもの) を閉じると、onActivityResult が同じ resultCode を取得し、 chooser アクティビティからのものと同じ requestCode。これを回避する方法が必要ですが、私には思いつきません。