この方法で別のアプリケーションからアクティビティを実行しようとするリモート サービスがあります。
Intent i = new Intent("ValidateActivity.intent.action.Launch");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
リモート サービス アプリでも、マニフェストに次の行を追加しました。
<service android:name=".UdpListenerService">
<intent-filter>
<action android:name="com.something.IUdpListenerService" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</service>
ターゲット アクティビティのマニフェスト (ValidateActivity) に、次の行を追加しました。
<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>
ターゲット アクティビティは別の apk にあり、2 つのパッケージがあることに注意してください。
- com.something (ValidateActivity があります)
- com.test (この質問には関係のない別のアクティビティがあります)。
実行しようとしても、まだエラーが発生します。
java.lang.RuntimeException: アクティビティ ComponentInfo を開始できません {com.test.external/com.something.ValidateActivity}: java.lang.NullPointerException