为什么应用程序会安装两次?

25
当我运行Android App Studio时,应用程序被“安装”两次:有两个应用程序,一个叫做“SplashScreenActivity”,另一个叫做“Doctor Quiz”(我的应用程序),这两个应用程序是相同的。如果我卸载其中一个,另一个也会被卸载。为什么会发生这种情况?怎样才能只“安装”我的应用程序(Doctor Quiz)?
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.morais.daniela.doctorquiz" >
    <uses-permission android:name="android.permission.INTERNET"/>
    <provider android:authorities="com.facebook.app.FacebookContentProviderXXXX"
        android:name="com.facebook.FacebookContentProvider"
        android:exported="true" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/medicine_box_icon2"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
        <activity
            android:name=".Activity.SplashScreenActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/title_activity_splash_screen"
            android:theme="@style/FullscreenTheme">
        <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
        </activity>
        <activity
            android:name=".Activity.QuestionsActivity"
            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=".Activity.ResultActivity"
            android:label="@string/title_activity_result" >
            <activity android:name="com.facebook.FacebookActivity"
                android:configChanges=
                    "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
                android:theme="@android:style/Theme.Translucent.NoTitleBar"
                android:label="@string/app_name" />
        </activity>

    </application>

</manifest>

屏幕截图
在这里输入图片描述

2个回答

80
该应用程序没有被安装两次。你看的不是应用程序,而是可以启动的活动,具有此<intent-filter>

该应用程序没有被安装两次。您正在查看可启动的活动,这些活动具有此<intent-filter>

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

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

你的应用中有两个拥有相同的<intent-filter>的活动,这将使得这两个活动都出现在主屏幕启动器上。如果你不想让这两个活动都显示在主屏幕启动器上,就从其中一个活动中移除那个<intent-filter>


6
很可能您在清单文件中指定了两个活动作为启动器。这会引发此问题。

Launcher specification appearing twice here

将其更改为

Corrected specification


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接