Android应用的默认Activity
对一个Android应用来说,一般都会将某个Activity配置为默认启动的Activity。默认Activity作为应用的入口,会在桌面中显示一个图标和名字。这里稍作说明一下,Android原生系统采用二级桌面设置,应用安装后会显示在应用抽屉中,不会直接显示在外层桌面上,除非应用又在外层桌面创建了快捷方式。而大部分国内ROM都是采用一级桌面,取消了应用抽屉,应用安装后就直接显示在最外层的桌面上,这里忽略这个差异,之后都统称为桌面。当用户从桌面上点击应用图标,就会启动这个默认的Activity。
设置默认Activity的方式是在AndroidManifest.xml中为Activity添加intent-filter,并将action设置为android.intent.action.MAIN,category设置为android.intent.category.LAUNCHE。
示例如下:
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
默认Activity在桌面上的图标和名字
当配置了默认Activity的应用安装之后就会在桌面上显示一个图标和名字。其中图标由android:icon属性配置,名字则由android:label属性配置。
一般来说,我们都会在AndroidManifest的Application节点下配置这两个属性。
示例如下:
<application
android:allowBackup="true"
android:icon="@mipmap/app_icon"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
这里应用安装后在桌面上显示的图标就是@mipmap/app_icon对应的图像,显示的名字是@string/app_name对应的字符串。
但实际上在Activity节点下也是可以配置这两项属性的。
示例如下:
<application
android:allowBackup="true"
android:icon="@mipmap/appicon"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity"
android:icon="@drawable/activity_icon"
android:label="@string/acitivity_name">
<intent-filter>
<actio