0

携帯電話でアプリを実行すると、3 回インストールされますが、なぜこれが行われるのかわからないのですが、これを解決する方法を知っている人はいますか?

私のマニフェスト

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <uses-library android:name="com.google.android.maps" />
    <activity
        android:name=".MyTravelManagerActivity"
        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=".Main"
              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=".OpenMap"
        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>

4

1 に答える 1

4

アプリは一度だけインストールされます。ただし、アプリケーションランチャーでは3回表示されます。アプリケーションランチャーの各アイコンは、アクティビティの1つに対応しています。これは、各アクティビティに指定したインテントフィルターが原因で発生します。

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

インテントフィルターは、アクティビティを起動できることを示し、対応するラベルが付いたアイコンがアプリケーションランチャーに表示される必要があります。ランチャーのアイコンを押すと、対応するアクティビティが開始されます。通常、アプリケーションにはそのようなアクティビティが1つだけあります。

ところで:Android上のアプリは、AndroidManifest.xmlファイルで指定されたパッケージによって区別されます。したがって、パッケージを変更しない限り、アプリを複数回インストールすることはできません。

于 2012-10-12T22:36:51.300 に答える