startActivityForResult()が非推奨になったので、その対処法を記録。
startActivityForResultの代わりはActivityResultLauncherとのこと。
対応関係としては
onActivityResult → ActivityResultLauncher <Intent>
startActivityForResult(intent,REQUESTCODE); → ActivityResultLauncher.launch(intent);
となっている。
旧
public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
super.onActivityResult(requestCode, resultCode, resultData);
}
↓
新
ActivityResultLauncher<Intent>
ActivityResultLauncher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> {}
);
旧
startActivityForResult(intent,REQUESTCODE);
↓
新
ActivityResultLauncher.launch(intent);
resultCodeやresultDataはresult.resultCode,result.Dataで取得する。
例:ユーザの指定したフォルダにファイルを保存する方法