运行Android应用程序时,在手机上安装了多个应用程序图标

时间:2010-10-15 13:25:31

标签: android

我正在开发一个带Eclipse的Android应用程序。每当我在手机或模拟器上运行应用程序时,设备上都会安装四个应用程序图标。我猜它与我的清单文件有关,它有三个活动(3个用于标签)。

当我卸载应用程序时,所有图标都会从手机中删除。重新安装后,所有四个都会重新显示。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.seebergers.navyprtcalculator"
      android:versionCode="1"
      android:versionName="1.0">
    <application 
        android:icon="@drawable/app_icon" 
        android:label="@string/app_name" 
        android:debuggable="true">
        <activity android:name=".NavyPRTCalculator" android:label="@string/app_name"
          android:theme="@android:style/Theme.NoTitleBar">        
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       <activity android:name=".BcaActivity" android:label="@string/app_name"
          android:theme="@android:style/Theme.NoTitleBar">        
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".PrtActivity" android:label="@string/app_name"
          android:theme="@android:style/Theme.NoTitleBar">        
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".BcaTapeActivity" android:label="@string/app_name"
          android:theme="@android:style/Theme.NoTitleBar">        
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest> 

思想?

3 个答案:

答案 0 :(得分:7)

你走在正确的轨道上。删除...

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

除了您的一项活动之外的所有活动。该标记告诉活动它属于Launcher。

答案 1 :(得分:1)

您将所有四个活动设置为主要和启动器类别类型。因此,所有这四项活动将被视为单独的实体并同时启动。仅对启动后需要显示的活动使用启动器类别。

只需删除类别android:name =“android.intent.category.LAUNCHER”

答案 2 :(得分:0)

您应该仅在启动活动中使用下面给出的代码,这样您就可以将其从其他活动中删除,而不仅仅是一个图标 -

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