0

私のアプリから、2 つの特定のアクティビティ A_Activity と B_Activity をアプリ Aapp と Bapp から起動したいと思います。2 つのボタンを挿入し、2 つの OnClickListener に書きました。

Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction("com.Acompany.Aapp.A_Activity");
ctx.startActivity(intent);

Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction("com.Bcompany.Bapp.B_Activity");
ctx.startActivity(intent); 

さらに、次の行を AndroidManifest.xml に追加しました

<activity
    android:name="com.Acompany.Aapp.A_Activity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="com.Acompany.Aapp.A_Activity" />
    </intent-filter>
</activity>
<activity
    android:name="com.Bcompany.Bapp.B_Activity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="com.Bcompany.Bapp.B_Activity" />
    </intent-filter>
</activity>

しかし、アプリがクラッシュし、logcat に「Intent を処理するアクティビティが見つかりません」と表示されます。私の間違いはどこですか?

編集:より正確には、2つのアクティビティは自分のアプリにはありません

4

3 に答える 3

0

このようにしてみてください。ホーム アクティビティ (最初の起動アクティビティ) の場合、マニフェスト file.xml で次のようにします。

<activity
    android:name="com.Acompany.LaunchHomeActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="com.Acompany.LaunchHomeActivity" />
    </intent-filter>
</activity>
<activity android:name="com.Acompany.Aapp.A_Activity">

</activity>
<activity android:name="com.Bcompany.Bapp.B_Activity">

</activity>

<intent-filter>すべての活動に含めないでください

于 2013-06-30T15:01:47.630 に答える
0
Intent intent = new Intent(myFirstClass.this, MySecondClassA.class);
startActivity(intent);

クラスB

Intent intent = new Intent(myFirstClass.this, MySecondClassB.class);
startActivity(intent);
于 2013-06-30T19:01:31.473 に答える
0

より正確には、2 つのアクティビティは自分のアプリにはありません

最初にターゲット アプリのマニフェスト ファイルを調べて、これらのアクティビティがエクスポートされるか、パブリックにアクセス可能なインテント フィルターを提供することによって、他のユーザーが利用できるかどうかを確認する必要があります。あなたがやろうとしていることを単に許可されていないようです。

于 2013-06-30T15:10:23.130 に答える