1

每当我尝试运行我的应用程序时,它都会在模拟器/设备中安装两个应用程序。我只想安装我的 Main Activity,但 Splash Activity 也会安装。我知道问题出在清单中。任何人都可以帮助我吗?这是我的代码:

<activity
        android:name="com.android.upcurrents.launcher.SplashActivity"
        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="com.android.upcurrents.MainActivity"
    android:label="@string/app_name" />
4

5 回答 5

0

我们有同样的问题,但我在清单下面的代码之前以这种方式修复了它

<application
        android:debuggable="true"
        android:allowBackup="true">
        <activity        android:name=".SplashActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.noupdate.apptest_noupdate.MainActivity"
            android:icon="@drawable/ic_launcher"
            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>

注意在 Intent 里面的 SplashActivity 就是这段代码

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

我只删除了类别

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

因此,在我删除了启动中的意图过滤器类别后,它没有安装两个应用程序图标,而只安装了一个主应用程序图标,代码将像这样通知删除了意图过滤器类别

<application
        android:debuggable="true"
        android:allowBackup="true">
        <activity     android:name=".SplashActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

            </intent-filter>
        </activity>
        <activity
            android:name="com.noupdate.apptest_noupdate.MainActivity"
            android:icon="@drawable/ic_launcher"
            android:theme="@android:style/Theme.NoTitleBar"
            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>

它真的有帮助

于 2013-10-26T04:46:23.597 回答
0

我遇到了同样的问题,但我通过确保您只有一项活动来修复它:

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

在我的代码中,我有两个带有意图过滤器的活动,这导致在我的设备上安装了两个应用程序。

于 2013-09-28T23:40:41.767 回答
0

您只需要将一项活动声明为启动器。因此,从 SplashActivity 的标签中删除意图过滤器,并将其添加到您的 MainActivity。Launcher 意图过滤器应仅出现在清单文件中的一项活动中。

于 2013-07-17T04:04:16.013 回答
0

它根据您提供的意图过滤器进行安装。
从 SplashActivity 中删除以下意图过滤器,然后将其放入 Main Activity

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

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
于 2013-07-17T04:05:25.173 回答
0

尝试这个:

<activity
    android:name="com.android.upcurrents.launcher.SplashActivity"
    android:label="@string/app_name" >
</activity>

<activity
android:name="com.android.upcurrents.MainActivity"
android:label="@string/app_name" >
<intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
 </activity>
于 2013-07-17T04:08:36.250 回答