4

私はEclipseを使用してAndroidアプリに取り組んでおり、奇妙な不具合に気づき始めました。

何らかの理由でアプリを携帯電話にデプロイすると、「アプリ」フォルダ領域に複数のアプリアイコンが表示されます。各アイコンをタップすると、アプリ内の異なるクラスページに移動します。他の誰かもこれを経験しましたか?

これは、ラップトップのエミュレーターからアプリを実行したときの問題のスクリーンショットです。

奇妙なバグ

問題がエミュレーターに表示されているので、エラーの原因は私の電話ではないことがわかります。

そのスクリーンショットに表示されている各アイコンは、マニフェストファイル内のさまざまなアクティビティを表しています。

マニフェストでアクティビティがどのように設定されているかを次に示します。

    <activity android:name=".MainJava">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
         <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

    <activity android:name=".AppClass">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
         <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>


このエラーは、私がアクティビティを設定している方法が原因で発生していると思いますか?もしそうなら、この問題を解決するためにアクティビティを編集することをどのように提案しますか?

これまでに作成したアプリでは、これを見たことがありません。

4

2 に答える 2

6

のみMainActivity(Launcher Activity) have intent filter with action as Main and category as Launcher

 <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />

そして、他のアクティビティのためにこの2行を削除します。

于 2012-07-12T14:35:02.140 に答える
2

から変更する:

<activity android:name=".MainJava">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
     <intent-filter>
        <action android:name="android.intent.action.SEARCH" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

<activity android:name=".AppClass">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
     <intent-filter>
        <action android:name="android.intent.action.SEARCH" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

に:

<activity android:name=".MainJava">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
     <intent-filter>
        <action android:name="android.intent.action.SEARCH" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

<activity android:name=".AppClass">
     <intent-filter>
        <action android:name="android.intent.action.SEARCH" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

MAIN1つだけある必要がありますLAUNCHER

于 2012-07-12T14:36:12.143 に答える