我有两个不同的安卓应用,AppA和AppB。我正在尝试让AppA启动一个游戏应用(即AppB)。当用户完成玩游戏(AppB)后,它将向AppA发送游戏记录。
所以,AppA成功启动了AppB,但是当用户完成游戏(AppB)并且尝试将数据返回给AppA时,AppB崩溃了,并出现了以下错误信息:
Process: com.joy.AppB, PID: 20265 android.content.ActivityNotFoundException: Unable to find explicit activity class {com.joy.AppA/com.joy.AppA.views.activities.StartGameActivity}; have you declared this activity in your AndroidManifest.xml?
AppA包名:com.joy.AppA 活动类名称:com.joy.AppA.views.activities.StartGameActivity
AppB包名:com.joy.AppB 活动类名称:com.joy.AppB.MainActivity
我已经做了以下工作:
AppA的StartGameActivity:
所以,AppA成功启动了AppB,但是当用户完成游戏(AppB)并且尝试将数据返回给AppA时,AppB崩溃了,并出现了以下错误信息:
Process: com.joy.AppB, PID: 20265 android.content.ActivityNotFoundException: Unable to find explicit activity class {com.joy.AppA/com.joy.AppA.views.activities.StartGameActivity}; have you declared this activity in your 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:
<?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>
AppB的MainActivity:
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:
<?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>
.
.
.
感谢您提前的帮助!
Intent i = new Intent(); i.setAction("com.joy.AppA.views.activities.LAUNCH_IT"); i.putExtra("gameRecordArray1", gameRecord_array); i.putExtra("gameRecordArray2", gameRecord_array); i.putExtra("gameRecordArray3", gameRecord_array); i.putExtra("gameRecordArray4", gameRecord_array); startActivity(i);
- Elvis Chidera