当我将我的应用程序安装到设备或模拟器上时,它会在应用程序菜单中多次出现,在我的情况下,我会看到4个图标显示我的应用程序名称。
似乎每个图标代表一个活动,并且由于我的应用程序包含3个选项卡(带有活动),我菜单上的前3个图标转到特定活动,第4个图标将我带到应用程序本身
这是我的清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jameselsey"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:name="com.jameselsey.domain.GlobalState"
android:theme="@android:style/Theme.NoTitleBar">
<activity android:name=".DefaultActivity"
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=".MyContactsActivity"
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=".MyMapsActivity"
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=".OptionsActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-library android:name="com.google.android.maps" />
</application>
</manifest>
如果我的设备上只有一个图标,而不是4个,我该怎么办?
由于
答案 0 :(得分:10)
因为你有4个活动
` <intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
为您的活动添加启动器图标。
答案 1 :(得分:6)
答案已经提供,但我只是简报。在Java中,应用程序将从包含 main 方法的类开始,该方法基本上是整个应用程序的单个入口点。
在Android中你可能已经注意到Activity类中没有主要方法。这里我们使用Manifest文件来做同样的事情。应用程序可以有多个入口点,"android.intent.action.MAIN"
表示此活动应该是主要的启动活动,LAUNCHER
类别表示此入口点应该在应用程序启动器中列出。一旦你将活动作为LAUNCHER
,android就会为它提供一个应用程序图标和名称,你必须注意到点击你案例中的每个4个图标会带你进行4个不同的活动。
最重要的是,如果我们的应用程序不需要多个入口点,则不必使用它。
答案 2 :(得分:5)
从最近3次活动中删除intent-filter