Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行Androids应用程序时,手机上会安装多个应用程序图标_Android - Fatal编程技术网

运行Androids应用程序时,手机上会安装多个应用程序图标

运行Androids应用程序时,手机上会安装多个应用程序图标,android,Android,我正在开发一个带有Eclipse的android应用程序。每当我在手机或模拟器上运行应用程序时,设备上都会安装四个应用程序图标。我猜它与我的清单文件有关,清单文件有三个活动(3个用于选项卡) 当我卸载应用程序时,手机上的所有图标都会被删除。重新安装后,所有四个都会显示备份 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/andro

我正在开发一个带有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> 


想法?

你走对了方向。删除

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


除了你的一项活动外,其他所有活动都有。该标记告诉活动它属于启动器。

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


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

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

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


事实上,我猜除了要在发布时显示的主过滤器之外,您根本不需要意向过滤器。太棒了。我还没有找到一个很好的清单文件教程,所以我希望这是我的问题。我们还得再看看。