Android開發之入口Activity

來源:互聯網
上載者:User

標籤:過濾   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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.