乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Android Intent和Intent Filter詳解(五)

       wanwanstudy 2012-02-11
      該filter聲明了改activity可以對一個筆記目錄做的事情. 它允許用戶查看或編輯該目錄(使用VIEW和EDIT action), 或者選取特定的筆記(使用PICK action).

             <data>元素的mimeType指定了這些action可以操作的數(shù)據(jù)類型. 它表明該activity可以從一個持有記事本數(shù)據(jù)的content provider(vnd.google.note)取得一個或多個數(shù)據(jù)項的Cursor(vnd.android.cursor.dir).

              注意該filter提供了一個DEFAULT category. 這是因為 Context.startActivity() 和 Activity.startActivityForResult()方法將所有的intent都作為作為包含了DEFAULT category來處理, 只有兩個例外:

              顯式指明目標activity名稱的intent.
              包含MAIN action 和LAUNCHER category的intent.
              因此, 除了MAIN和LAUNCHER的filter之外, DEFAULT category是必須的.

      java代碼:
      1. <intent-filter>
      2. <action android:name="android.intent.action.GET_CONTENT" />
      3. <category android:name="android.intent.category.DEFAULT" />
      4. <data android:mimeType="vnd.android.cursor.item/vnd.google.note" />
      5. </intent-filter>
      復制代碼

             這個filter描述了該activity能夠在不需要知道目錄的情況下返回用戶選擇的一個筆記的能力. GET_CONTENT action和PICK action相類似. 在這兩者中, activity都返回用戶選擇的筆記的URI. (返回給調(diào)用startActivityForResult()來啟動NoteList activity的activity.) 在這里, 調(diào)用者指定了用戶選擇的數(shù)據(jù)類型而不是數(shù)據(jù)的目錄.

              這個數(shù)據(jù)類型, vnd.android.cursor.item/vnd.google.note, 表示了該activity可以返回的數(shù)據(jù)類型 -- 一個筆記的URI. 從返回的URI, 調(diào)用者可以從持有筆記數(shù)據(jù)的content provider(vnd.google.note)得到一個項目(vnd.android.cursor.item)的Cursor.

               也就是說, 對于PICK來說, 數(shù)據(jù)類型表示activity可以給用戶顯式的數(shù)據(jù)類型.對于GET_CONTENT filter, 它表示activity可以返回給調(diào)用者的數(shù)據(jù)類型.

               下列intent可以被NoteList activity接受:

               action: android.intent.action.MAIN
               不指定任何數(shù)據(jù)直接啟動activity.
               action: android.intent.action.MAIN
               category: android.intent.category.LAUNCHER

               不指定任何數(shù)據(jù)直接啟動activity. 這是程序啟動器使用的intent. 所有使用該組合的filter的activity被加到啟動器中.
               action: android.intent.action.VIEW
               data: content://com.google.provider.NotePad/notes

               要求activity顯示一個筆記列表,這個列表位于content://com.google.provider.NotePad/notes. 用戶可以瀏覽這個列表并獲取列表項的信息.

              action: android.intent.action.PICK
              data: content://com.google.provider.NotePad/notes

              請求activity顯示content://com.google.provider.NotePad/notes下的筆記列表. 用戶可以選取一個筆記, activity將返回筆記的URI給啟動NoteList的activity.

              action: android.intent.action.GET_CONTENT
              data type: vnd.android.cursor.item/vnd.google.note

              請求activity提供記事本數(shù)據(jù)的一項.

              第二個activity, NoteEditor, 為用戶顯示一個筆記并允許他們編輯它. 它可以做以下兩件事:

      java代碼:
      1. <intent-filter android:label="@string/resolve_edit">
      2. <action android:name="android.intent.action.VIEW" />
      3. <action android:name="android.intent.action.EDIT" />
      4. <action android:name="com.android.notepad.action.EDIT_NOTE" />
      5. <category android:name="android.intent.category.DEFAULT" />
      6. <data android:mimeType="vnd.android.cursor.item/vnd.google.note" />
      7. </intent-filter>
      復制代碼

              這個activity的主要目的是使用戶編輯一個筆記--VIEW或者EDIT一個筆記. (在category中,EDIT_NOTE是EDIT的同義詞.) intent包含匹配MIME類型vnd.android.cursor.item/vnd.google.note的URI--也就是某一個特定的筆記 的URI. 它一般來說是NoteList activity中的PICK或者GET_CONTENT action返回的.像以前一樣,該filter列出了DEFAULT category.

      java代碼:
      1. <intent-filter>
      2. <action android:name="android.intent.action.INSERT" />
      3. <category android:name="android.intent.category.DEFAULT" />
      4. <data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />
      5. </intent-filter>
      復制代碼

              該activity的第二個目的是使用戶能夠創(chuàng)建一個新的筆記, 并插入到已存在的筆記目錄中. 該intent包含了匹配vnd.android.cursor.dir/vnd.google.note的URI, 也就是筆

              有了這些能力, NoteEditor就可以接受以下intent:
              action: android.intent.action.VIEW
              data: content://com.google.provider.NotePad/notes/ID

               要求activity顯示給定ID的筆記.
               action: android.intent.action.EDIT
               data: content://com.google.provider.NotePad/notes/ID

               要求activity顯示指定ID的筆記,然后讓用戶來編輯它. 如果用戶保存了更改,則activity更新該content provider的數(shù)據(jù).
               action: android.intent.action.INSERT
               data: content://com.google.provider.NotePad/notes

               要求activity創(chuàng)建一個新的空筆記在content://com.google.provider.NotePad/notes, 并允許用戶編輯它, 如果用戶保存了更改,則該URI被返回給調(diào)用者.

               最后一個activity, TitleEditor, 允許用戶編輯筆記的標題. 這可以通過直接調(diào)用activity(在intent中設置組件名稱)的方式來實現(xiàn). 但是這里我們用這個機會來展示如何在已有數(shù)據(jù)上進行另外的操作

      java代碼:
      1. <intent-filter android:label="@string/resolve_title">
      2. <action android:name="com.android.notepad.action.EDIT_TITLE" />
      3. <category android:name="android.intent.category.DEFAULT" />
      4. <category android:name="android.intent.category.ALTERNATIVE" />
      5. <category android:name="android.intent.category.SELECTED_ALTERNATIVE" />
      6. <data android:mimeType="vnd.android.cursor.item/vnd.google.note" />
      7. </intent-filter>

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多