0

この方法で別のアプリケーションからアクティビティを実行しようとするリモート サービスがあります。

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 つのパッケージがあることに注意してください。

  1. com.something (ValidateActivity があります)
  2. com.test (この質問には関係のない別のアクティビティがあります)。

実行しようとしても、まだエラーが発生します。

java.lang.RuntimeException: アクティビティ ComponentInfo を開始できません {com.test.external/com.something.ValidateActivity}: java.lang.NullPointerException

4

1 に答える 1

0

問題は、インテントの起動ではなく、新しいアクティビティにありました。

于 2010-05-27T13:43:43.310 に答える