の活動のAndroidManifest.xmlをの関連するコード
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
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=".Activity1">
<intent-filter>
<action android:name="com.MyPackage.Activity1" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
:アプリの関連のAndroidManifest.xmlを呼び出す
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.MyPackage", om.MyPackage.Activity1));
startActivity(intent);
:アプリの関連するソースコードを呼び出す
まず、あなたがあなたは今com.MyPackage.*
接頭
OR使用名Activity1
とActivity2
を持っている彼らに別の名前空間
- 両方のアプリケーションを提供する必要が
- アプリケーション1にActivityからアプリケーション2での活動を開始
だから、その後、あなたがMyPackage1からMyPackage2でActivity1を開始するには、このコードを使用することができます
com.MyPackage1.Activity1
// and
com.MyPackage2.Activity1
を持つことになります。
// in file com.MyPackage1.Activity1
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.MyPackage2", "com.MyPackage2.Activity1"));
startActivity(intent);
そして、あなたのAndroidManifest.xml
ファイルは次のようになります。:
最初
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="com.MyPackage1.Activity1"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
二
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="com.MyPackage2.Activity1"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
をSO関連の質問を参照してください How to start activity in another application?
推奨変更を行った後も、まだActivityNotFoundExceptionまたはClassNotFoundExceptionが発生しています。おそらく、それはエミュレータ上にアプリケーションを正しくインストールできないことと関係があります。私の最新の取り組みでは、まず、adbコマンドを使用して呼び出されたアプリケーション(Activity1クラスを含む)をインストールしました。それからEclipseから呼び出しているアプリを実行します。これはおそらくいくつかの奇妙な理由で呼び出されたアプリケーションがもはやエミュレータにないことが原因で、Activity1に関するClassNotFoundExceptionを生成します。なぜそれはもはやインストールされていないのですか?これが私の問題の一部なら解決方法ありがとう! – macrogeo
別のアプリケーションでアクティビティを呼び出そうとしていますか?同じアプリケーションで2番目のアクティビティを開始することを指していました。私の編集した答えを参照 –
それは動作します!マレクありがとう! – macrogeo