1. Settings的AndroidManifest.xml
Settings也是一个apk,有自己的layout和activity。该layout文件决定了Settings的菜单分级显示,位于/packages/apps/Settings/AndroidManifest.xml,上部分源代码
... ...
<activity
android:name="Settings$VpnSettingsActivity"
android:label="@string/vpn_settings_title"
android:icon="@drawable/ic_settings_wireless"
android:taskAffinity="com.android.settings"
android:parentActivityName="Settings">
<intent-filter android:priority="1">
<action android:name="android.settings.VPN_SETTINGS" />
<action android:name="android.net.vpn.SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
<meta-data android:name="com.andro