Activity通過startActivity啟動另一個Activity,并同過Intent顯示或隐式的方式指定将啟動的Activity,Intent建立的的兩個參數一個是啟動活動的上下文,一個是要啟動的活動。然後就能啟動特定的Acitivity。如果隻有一個參數,action和category比對即可啟動另一個Acitivity。Activity要想将資訊傳回,可通過startActivityForResult傳入請求碼,啟動的Activity可通過setResult把intent傳回。第一個activity在通過重寫onActivityResult進行處理。
1.需要注意的是,在隐式啟動ac tivity時,如果沒有指定category,則系統預設啟動category為android.intent.category.DEFAULT的activity
是以你也必須在AndroidMenifast中對你要啟動的activity顯示指定<category android:name="android.intent.category.DEFAULT">
隐式啟動時intent至少指定一個action,在xml檔案中可以指定多個action,如果有一個action與intent指定的相同,則action比對成功。注意action比對時區分大小寫!!
category在intent中可以不指定,但如果指定了,xml檔案中必須具有所有intent指定的category,才能比對成功。
2.附上常用的action http://blog.csdn.net/ithomer/article/details/8242471
3.除了action 和category 還有data
data由兩部分組成:mimeType 和uri
android.mimeType 用于指定可以處理的資料類型,如是文本,圖檔,視訊等
而uri組成為<scheme>://<host>:<port>/[<path>|<pathPrefix>|<pathPattern>]
android.scheme:用于指定資料的協定部分,如不指定uri将無效
android.host:用于指定資料的主機名部分,如不指定uri無效
android.port:用于指定資料的端口部分,scheme和host指定了才指定
android.path:用于指定資料的主機名和端口之後的部分
舉例:http://www.baidu.com:88/search/info(自行對照)-> uri
data比對規則是都比對才能比對成功