使用intent在两个Android应用程序之间传递数据

我有两个独立的Android应用程序,AppA和AppB。 我正在尝试让AppA推出AppB(这是一款游戏应用)。 用户完成游戏(AppB)后,它会将游戏记录发送回AppA。

因此,AppA正确启动AppB,但是当用户完成游戏(AppB)时,AppB在将数据发送回AppA时崩溃,并且出现此错误:

进程:com.joy.AppB,PID:20265 android.content.ActivityNotFoundException:无法找到显式活动类{com.joy.AppA / com.joy.AppA.views.activities.StartGameActivity}; 你在AndroidManifest.xml中声明了这个活动吗?

AppA包名:com.joy.AppA
活动类名称:com.joy.AppA.views.activities.StartGameActivity

AppB包名:com.joy.AppB
活动类名称:com.joy.AppB.MainActivity

这是我到目前为止所做的:

AppA的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"); 

AppA的AndroidManifest.xml:

   . . .       

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); 

AppB的AndroidManifest.xml:

             . . . 

在此先感谢您的帮助!

试试这个:

AppA的AndroidManifest.xml:

    . . .        

然后从app b向app应用程序发送数据,执行以下操作:

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

也许它可能有用:

内容提供商和内容解析器组件

内容解析程序向Content Provider发出请求,并且提供程序响应。 这类似于两个不同应用程序之间的通信。

例如,客户端(解析器)和内容管理器(提供者)。

这是一个示例教程: https : //www.tutorialspoint.com/android/android_content_providers.htm

希望能帮助到你!