Det här “tricket” kan vara användbart om man skapar en liten svit med appar som är tätt bundna till varandra, men inte nödvändigtvis måste leva under samma tak/app.
I appen vars aktivitet du vill starta utifrån, gör
Ändringar i Manifestet
Leta upp den aktivitet-tag, <activity>, som du vill kunna nå utifrån och lägg antingen till ett <intent>-filter, eller en rad
<activity android:name=".activities.OpenMeActivity" android:exported="true" > </activity>
Som exempel kan ett helt Manifest se ut
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="nu.opentest" android:versionCode="1" android:versionName="1" > <uses-sdk android:minSdkVersion="7" /> <application android:name=".OpenTest" android:icon="@drawable/ic_launcher" android:label="@string/app_name"> <activity android:name=".activities.OpenTest" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".activities.OpenMeActivity" android:exported="true" > </activity> </application> </manifest>
I appen du vill kalla på en annan epps aktivitet, gör
Följande i kod
Intent intent = new Intent(); intent.setComponent(new ComponentName("nu.opentest", "nu.opentest.activities.OpenMeActivity")); startActivity(intent);
Med detta kan man nu alltså inifrån en app få upp en specifik aktivitet i en annan app. Jag rekommenderar starkt en massa try/catches för att inte åka på en nit under produktion.