Ich habe zwei separate Android-Apps, AppA und AppB. Ich versuche, AppA zum Starten von AppB (eine Spiele-App) zu bekommen. Nachdem der Benutzer das Spiel (AppB) beendet hat, sendet er die Spieldaten zurück an AppA.Weitergabe von Daten zwischen zwei Android-Apps mit Absicht
So APPA AppB startet richtig, aber wenn der Benutzer mit Spielen des Spiels (AppB) durchgeführt wird, stürzt AppB während die Daten zurück zu AppA senden, und dieser Fehler zeigt sich:
Prozess: com .joy.AppB, PID: 20265 android.content.ActivityNotFoundException: Die explizite Aktivitätsklasse konnte nicht gefunden werden {com.joy.AppA/com.joy.AppA.views.activities.StartGameActivity}; Hast du diese Aktivität in deiner AndroidManifest.xml deklariert?
AppA Paketname: com.joy.AppA
Aktivitätsklasse Name: com.joy.AppA.views.activities.StartGameActivity
AppB Paketname: com.joy.AppB
Aktivität Klassenname: com.joy.AppB.MainActivity
Hier ist, was ich bisher getan habe:
Appas 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");
Appas 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 des 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 des 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>
.
.
.
Vielen Dank im Voraus für Ihre Hilfe!
Danke für Ihre Hilfe! Fragen Sie mich einfach, ob Sie wissen, wie ich AppA dazu bringen kann, mehrere String-Arrays von AppB zu erhalten? Derzeit sendet AppB mehrere String-Arrays auf einmal an AppA, aber AppA erhält nur das erste String-Array vom Chunk. Vielen Dank! – unintendedjoy
@unintendedjoy, froh, dass meine Antwort Ihnen behilflich war. Wenn Sie Ihre Kommentarfrage richtig verstanden haben, möchten Sie verschiedene Arrays an die Aktivität senden? Sie könnten dies tun: 'Intent i = neue Absicht(); 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); ' –
Eigentlich habe ich es so gemeint, Sie können sehen, von dieser Frage habe ich gepostet: [Mehrere String-Arrays zwischen zwei Apps mit Absicht übergeben] (http://stackoverflow.com/questions/42533566/passing -multiple-string-arrays-zwischen-zwei-apps-using-intent? noredirect = 1 # comment72202953_42533566) Danke! – unintendedjoy