J'ai mon service à distance qui essaie d'exécuter une activité à partir d'une autre application de cette façon :
Intent i = new Intent("ValidateActivity.intent.action.Launch");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
Maintenant, dans l'application de service à distance, j'ai ajouté ces lignes dans le manifeste :
<service android:name=".UdpListenerService">
<intent-filter>
<action android:name="com.something.IUdpListenerService" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</service>
Maintenant, dans le manifeste de l'activité cible (ValidateActivity), j'ai ajouté ces lignes :
<activity android:name="com.something.ValidateActivity" >
<intent-filter>
<action android:name="ValidateActivity.intent.action.Launch"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
Je dois préciser que l'activité cible se trouve dans un apk différent, et qu'il comporte deux paquets :
- com.something (où se trouve mon ValidateActivity)
- com.test (j'y ai une autre activité, qui n'est pas pertinente pour cette question).
Maintenant, après avoir essayé de l'exécuter, j'obtiens toujours l'erreur :
java.lang.RuntimeException : Impossible de lancer l'activité ComponentInfo{com.test.external/com.something.ValidateActivity} : java.lang.NullPointerException