使用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
希望能帮助到你!