我的安卓应用有两个活动页面,一个登录页面和一个搜索页面。当我在模拟器或设备上部署该应用时,我会看到同一应用的两个图标。当我点击图标1时,它会打开屏幕1(登录页面),而当我点击图标2时,它会打开屏幕2(搜索页面)。根据逻辑,当我登录后应该显示搜索页面。不确定我犯了哪个错误。
我的安卓应用有两个活动页面,一个登录页面和一个搜索页面。当我在模拟器或设备上部署该应用时,我会看到同一应用的两个图标。当我点击图标1时,它会打开屏幕1(登录页面),而当我点击图标2时,它会打开屏幕2(搜索页面)。根据逻辑,当我登录后应该显示搜索页面。不确定我犯了哪个错误。
你的清单文件只应在你想要有图标的活动中添加此行:
<category android:name="android.intent.category.MAIN" />
根据您的描述,似乎这两个活动都有这行代码。
如果在你的Manifest文件中,两个不同的<activity>
标签中都有以下标签,则安装Android应用似乎会发生两次:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
intent-filter
标签,将一个活动作为应用程序的启动器活动指定。intent-filter
标签。intent-filter
,指定一个启动器活动),完整的源代码看到了两个intent-filter
标签,指定了两个启动器活动,因此创建了两个应用程序图标。intent-filter
时,第二个应用程序启动器图标消失了。
MAIN
不是一种类别,而是一个动作。更普遍地说,除非需要,否则不要在清单文件中为一个活动包括<intent-filter>
。对于简单的应用程序,只有需要在启动器中显示图标的活动应该有一个<intent-filter>
。 - CommonsWare