我刚创建了我的第一个Android应用程序,一切正常,但所有活动都显示在我的Android菜单上。我做错了什么?
屏幕截图:imgur.com/9CmXU 我想要一个图标,指向MainActivity,而不是所有活动
<!-- language-all: lang-html -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myApps.birthdaymeter"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/my_logo"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".BirthdayMeter"
android:label="@string/title_activity_birthday_meter" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".AboutWindow"
android:label="@string/title_activity_about_window" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ShowResult"
android:label="@string/title_activity_show_result" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
这是我的清单,更改徽标没有帮助
答案 0 :(得分:1)
<intent-filter>
标记用于描述每个Activity将响应的Intent类型。 "android.intent.action.MAIN"
操作表示此Activity是应用程序的入口点(想想java程序需要的主要方法)。 "android.intent.category.LAUNCHER"
类别告诉操作系统在您的应用程序列表中显示活动。添加DEFAULT
类别是可以的,但实际上与完全省略<intent-filter>
标记相同(我发现它可以更清晰,更容易阅读代码)。您应该只在<intent-filter>
标记中使用这两个操作和类别,这些操作和类别在用户打开您的应用时启动。如果您希望应用程序中的Activity能够响应某些特殊意图,您可以使用该标记来定义它响应的内容。
以下是google开发页面的链接,可帮助您了解有关Intent过滤器的更多信息。
http://developer.android.com/guide/components/intents-filters.html
以下是<intent-filter>
代码的文档。但这并不是最容易理解的。
http://developer.android.com/guide/topics/manifest/intent-filter-element.html
这是Manifest文件和Intent类的文档。如果您不确定在Manifest中使用哪些标记,这两个都可以参考。祝你好运!
http://developer.android.com/guide/topics/manifest/manifest-intro.html
http://developer.android.com/reference/android/content/Intent.html
答案 1 :(得分:0)
你非常普遍地提出了你的问题,所以我不知道该回答什么。您似乎没有在发起其他活动时调用nameOfActivity.this.finish()
答案 2 :(得分:0)
如果您发布清单文件,我可以提供更多帮助,但它看起来像您没有正确宣布您的活动。
它应该像这样设置:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name="Activity1"></activity>
<activity android:name="Activity2"></activity>
<activity android:name="Activity3"></activity>
</application>
基本上,创建一个应用程序声明,然后在其中包含每个活动。