Transmitir datos entre dos aplicaciones de Android con intención

Tengo dos aplicaciones de Android separadas, AppA y AppB. Estoy tratando de hacer que AppA inicie AppB (que es una aplicación de juego). Una vez que el usuario haya terminado de jugar (AppB), enviará los registros del juego a AppA.

Entonces, AppA está iniciando AppB correctamente, pero cuando el usuario termina de jugar el juego (AppB), AppB se bloquea al enviar los datos a AppA, y aparece este error:

Proceso: com.joy.AppB, PID: 20265 android.content.ActivityNotFoundException: no se puede encontrar la clase de actividad explícita {com.joy.AppA / com.joy.AppA.views.activities.StartGameActivity}; ¿Has declarado esta actividad en tu AndroidManifest.xml?


Nombre del paquete de AppA: com.joy.AppA
Nombre de clase de actividad: com.joy.AppA.views.activities.StartGameActivity

Nombre del paquete de AppB: com.joy.AppB
Nombre de clase de actividad: com.joy.AppB.MainActivity


Esto es lo que he hecho hasta ahora:

AppA's StartGameActivity:

//To launch AppB game
Intent launchGameIntent = getPackageManager().getLaunchIntentForPackage("com.joy.AppB");
startActivity(launchGameIntent);

//To retrieve game scores from AppB game
Intent intent = getIntent();
String[] gameRecords_array = intent.getStringArrayExtra("gameRecord");

AppMan's AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.joy.AppA">
.
.
.
<activity
        android:name="com.joy.AppA.views.activities.StartGameActivity"
        android:label="Start Game">
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
        </intent-filter>
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".views.activities.DashboardActivity" />
    </activity>

Actividad principal de AppB:

Intent i = new Intent();
i.setComponent(new ComponentName("com.joy.AppA","com.joy.AppA.views.activities.StartGameActivity"));
i.setAction(Intent.ACTION_SEND);
i.putExtra("gameRecord", gameRecord_array);
startActivity(i);

AppMan's AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.joy.AppB" >

<supports-screens android:resizeable="true" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@drawable/app_icon"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

¡Gracias de antemano por tu ayuda!

Respuestas a la pregunta(2)

Su respuesta a la pregunta