4

Hier ist das Szenario: Ich habe 2 Module (In Android Studio, Datei -> Neu -> Neues Modul) in meiner einzigen Anwendung.Wie kann eine Aktivität (zu einem Modul) in einem anderen Modul in Android aufgerufen werden?

  1. Modul A
  2. Modul B

Modul A (Es ist kein Bibliotheksprojekt es gradle beginnt mit Plugin anwenden. 'Com.android.application').

Modul B (das auch kein Bibliotheksmodul ist).

Innenmodul B, ich brauche eine Aktion aufzurufen (zB MainActivity), die A.

Modul A manifestieren Modul gehört:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.abc.emergencycontacts"> 
    <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission> 
    <uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission> 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true"> 
<activity android:name=".EmergencyContactsActivity" android:theme="@style/AppTheme"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

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

    </application> 

</manifest> 

Modul B manifestieren:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.abc.secondaryactivity"> 

    <application 
     android:allowBackup="true" 
     android:label="@string/app_name" 
     android:supportsRtl="true"> 

     <activity android:name=".BaseAppActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

</manifest> 

Wie erreiche ich es?

Bitte beachten Sie, dass ich die Abhängigkeit von Modul A in Modul B nicht hinzufügen kann, da Modul A kein Bibliotheksmodul ist.

Warten auf Ihre wertvolle Antwort.

+0

Ich verstehe Ihr Szenario nicht genau? Sprechen Sie über zwei verschiedene Anwendungen? –

+0

@MuratK. Tut mir leid, es zu verwirren. Ich spreche von 2 verschiedenen Modulen einer Anwendung. Bearbeitete die Frage. – Rakesh

+0

Vielleicht hilft das http://stackoverflow.com/questions/26977007/cannot-launch-activity-in-android-library-module –

Antwort

0

Um ein Activity aus jeder Anwendung heraus zu starten, können Sie dies nur tun:

Intent intent = new Intent(); 
intent.setClassName("packageName", "className"); 
startActivity(intent); 

Sie müssen nicht in der Lage, den Quellcode dieser Activity während der Kompilierung zu verweisen.

Dies wird Ihr angegebenes Problem lösen.

+0

Die App wird beim Ausführen des oben genannten abgestürzt. Hier ist der Logcat: java.lang.IllegalArgumentException: Unbekannte Komponente: com.abc.mainactivity/com.abc.mainactivity.MainActivity – Rakesh

+0

Veröffentlichen Sie Ihr Manifest. Bitte füge es nicht als Kommentar hinzu. Bearbeiten Sie einfach Ihren ursprünglichen Beitrag und fügen Sie das vollständige Manifest hinzu. –

+0

Veröffentlicht. Bitte prüfe. – Rakesh

Verwandte Themen