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.
Leave a Reply