標籤:過濾 div 實體 過濾器 一個 gre 代碼 javascrip sdn
原文:Android開發之入口Activity
Android開發之入口ActivityAdnroid App是如何確定入口Activity的?
難道就因為class的類名叫MainActivity,布局檔案叫activity_main.xml?
如果這樣認為,就大錯特錯了。
之所以能夠確定入口Activity,是因為在應用的資訊清單檔中有所配置,系統會根據應用的資訊清單檔(AndroidManifest.xml)來確立.
如何確立,標誌是什嗎?
我們來看一下資訊清單檔,便一目瞭然:
對了,系統能夠確立就是因為紅線標註的意圖過濾器intent-filter
系統會在資訊清單檔中訪問所有的intent-filter,直到發現如下代碼:
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
根據其所在activity的name,找到需要啟動的activity的實體類。
那我們能否定義兩個入口Activity呢?
答案是肯定的。我們不妨來實驗一下,再次建立一個Activity,命名為SecondActivity,並在資訊清單檔中註冊該activity,同樣將其意圖過濾器設定為主activity
:
另外,我們還會發現一個有趣的現象:
是不是發現,啟動一個應用產生了兩個表徵圖,是的,每個入口activity都會相應的產生一個表徵圖,與之對應。
當我們點擊Test表徵圖的時候,會進入MainActivity,但我們點擊SecondActivity表徵圖的時候會進入SecondActivity,也就是說一個應用有兩個入口,這樣明顯是不好的,我們應當嚴格規定,只能有一個入口activity,莫要奇葩行事!!!
Android開發之入口Activity