0

私はさまざまなパッケージでさまざまな活動をしています、

2つのパッケージ->com.pack1->com.pack2があるとします。

pack1にアクティビティがあり、pack2に別のアクティビティを呼び出したい。インテントショーを使用して、どのようにそれを行うのですか?

21:19:10.405: W/System.err(7578): android.content.ActivityNotFoundException: Unable to find explicit activity class have you declared this activity in your AndroidManifest.xml?

これは私のパッケージがどのように見えるかです

4

5 に答える 5

2
    Intent i = new Intent("android.intent.action.MAIN");
    i.setComponent(new ComponentName("com.mypkg.mystff","com.mypkg.mystuff.MyClass"));

他の答えも正しいです。ただし、これはデバイスのどこからでも機能します。

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

これをxmlの一部に追加します

于 2012-06-28T16:00:25.027 に答える
1

エラーをお読みください。

「AndroidManifest.xmlでこのアクティビティを宣言しましたか?」pakageは問題になりません1つのアクティビティを別のアクティビティに移動します。AndroidManifest.xmlで、AndroidManifestでアクティビティが明確になっていないことを確認してください。

このために問題が発生すると思います。

ありがとう。

于 2012-06-28T15:58:24.460 に答える
1

AndroidManifest.xmlでアクティビティを宣言する必要があります。そうしないと、アクティビティを使用できません。

例:

    <activity 
        android:name="com.yourpackage.YourActivity"
        android:launchMode="singleTop"
        android:configChanges="orientation"
     >
    </activity>
于 2012-06-28T15:58:34.570 に答える
1

OK、それで場所を定義するために一緒に働く2つの部分がありActivityます。まず、package属性です。その下には「com.flipagain2」があります。

また、android:name属性があります。たとえば、.FlipAgain2Activity. 次のようになります。これは、Androidがアクティビティを検索するときに、次のことを意味します。

com.flipagain2.FlipAgain2Activity. わかる?これら2つを組み合わせるだけです。

したがって、2つのパッケージのアクティビティが必要です。

2番目(機能していないもの)を次のように変更します。

<activity android:name="com.package2.CaptureActivity" >
    <intent-filter>
        <action android:name="com.google.zxing.client.android.CaptureActivity" />
         <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

私が何を変えたのか分かりますか?最初のActivity宣言は同じままにandroid:name=しますが、パッケージを含む完全修飾名と一致するように2番目の宣言を変更します。このアプローチを使用すると、すべてのアクティビティを異なるパッケージに含めることができます。

于 2012-06-28T16:46:34.637 に答える
1

通常、アクティビティはパッケージに限定されます。そのアクティビティが明示的に「エクスポート」されない限り(つまり、他のアプリケーションに通知されない限り)、別のパッケージでアクティビティを開始することはできません。com.pack2のFlipAgain2Activityのマニフェストにこれを追加します。

android:exported="true"
于 2012-06-28T16:47:17.230 に答える