Intent的七大屬性

Intent的七大屬性

  跳轉:
   1,顯示意圖跳轉:知道往哪裏跳轉(ComponentName)
   2,隱式意圖跳轉:不知道往哪裏跳轉  只要action一致就可以(action)

 >1,ComponentName:應用組件名稱  根據組件名稱可以進行顯示跳轉(知道往哪裏跳轉)
 >2,Action:動作
  >1,自定義
    <!-- 註冊Activity   設置動作 :必須有意圖過濾器-->
   <activity android:name=".SecondActivity">
       <intent-filter >
    <action android:name="包名.類名"/>唯一
    <category android:name="android.intent.category.DEFAULT"/>
       </intent-filter>
   </activity>
  >2,系統提供

  Uri:資源定位符
  Uri遵循的格式:scheme://host:port/path
   scheme:http  file  content
   host:IP
   port:端口號
   path:請求的路徑

 >3,Category:(種類) 指明動作的環境
  >android.intent.category.LAUNCHER:程序啓動的
  >android.intent.category.DEFAULT :系統默認的執行方法

  >在清單文件中 有action  必然跟category 否則程序報錯
 >4,Data:數據   描述action數據
 >5,Type:數據的類型
 >6,putExtra:通信數據的   intent.putExtra(key,value);
 >7,Flag:標記 (一般用於啓動模式)
  >FLAG_ACTIVITY_SINGLE_TOP:和啓動模式裏的SingleTop一致

  >FLAG_ACTIVITY_CLEAR_TOP:
  和SingleTask相似 >如果當前Activity存在   不在棧頂
     首先將上方的Activity pop出 將自身的Activity銷燬 重新創建一個Activity 在棧頂
     >如果當前Activity存在   在棧頂  將將自身的Activity銷燬 重新創建一個Activity 在棧頂
  
  >FLAG_ACTIVITY_NEW_TASK
   >1,不在清單文件中設置 和默認啓動模式是一致的
   >2,在清單文件中設置屬性 
    android:taskAffinity="aa.bb"
    android:allowTaskReparenting="true"

    

    taskAffinity用於指定當前Activity(activity1)所關聯的Task,
    allowTaskReparenting用於配置是否允許該activity可以更換從屬task

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章