新しいインテントの作法
今までのやり方が非推奨になってしまうことがどんな言語でも あります。アンドロイドも例外ではありません。
インテント使うときお馴染みの、startActivityForResult()が非推奨になっています。

派手に非推奨です。
じゃあどうすればいいのか?検索でヒットしたほとんどの記事が
startActivityForResult()
を使っています。調べるのに時間がかかりました。結果は簡単です。
アクティビティはボタン一つだけの画面です。

ActivityMain.java
package com.example.intentbasic;

import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class MainActivity extends AppCompatActivity {
    ActivityResultLauncher<Intent> mSubLauncher;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mSubLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
                new ActivityResultCallbackSub());

    }

    private class ActivityResultCallbackSub implements ActivityResultCallback<ActivityResult> {
        @Override
        public void onActivityResult(ActivityResult result) {
            String strDeviceName;
            if( Activity.RESULT_OK == result.getResultCode() )
            {
                Log.d("call back", "OK: ");//こちらを通る
            }
            else
            {
                Log.d("call back", "NG: ");
            }
        }
    }


    public void onBtnClick(View v) {
        Intent sub = new Intent(this, SubActivity.class);
        //新しい作法で起動
        mSubLauncher.launch(sub);
    }
} 
    
onCreateでmSubLauncherをセットします。第2引数はインテントが終了したとき呼び出されるコールバック関数です。
onBtnClick:ボタン押下時にmSubLauncherはSubActivityを起動します。
これでSubActivityが表示されます。

次にサブアクテビティとビューを新規作成します。
ボタン1つだけの簡単なアクティビティです。

メインと一目でわかるよう背景色を紫っぽくしました。処理は凄く簡単です。
SubActivity.java

package com.example.intentbasic;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class SubActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sub);
    }

    public void onBtnClick(View v) {
        Intent intent = new Intent();
        setResult( Activity.RESULT_OK, intent );
        finish();
    }
}

MainActivityにActivity.RESULT_OKを送って終了します。

AndroidManifest.xmlに新規作成したアクティビティを記述します。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.IntentBasic"
        tools:targetApi="31">
        <activity
            android:name=".SubActivity"
            android:exported="false">
            <meta-data
                android:name="android.app.lib_name"
                android:value="" />
        </activity>
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.app.lib_name"
                android:value="" />
        </activity>
    </application>

</manifest>

[File]-[new]-[Activity]-[Empty Avtivity]

これで生成すれば AndroidManifest.xmlに自動的にセットしてくれます。