Android中Intent的使用

來源:互聯網
上載者:User

標籤:

Intent分為隱式Intent和顯式Intent:

顯式Intent 也就是說利用Intent對象,明確的傳遞一個活動類而構成的意圖,也就是說我們可以明確的知道下一步的操作。

通常我們利用隱式Intent可以完成一個應用程式對另一個應用程式的調用。

下面我將根據自己的理解簡單的介紹Intent的使用。

顯示Intent,一般我們對它的使用就是

Intent it = new Intent();

it.setClass(xx,xx);

StartActivity(it);這是最簡單的使用,其它不做過多講解。

但是,隱式Intent我們應該怎樣使用呢?


具體的使用如下,建立一個B.Activity,在它的設定檔中我們通過加入<INTENT-FILTER>在其中寫入<Action>以及<Category>:
在同一個Application中,我們使用隱式Intent時,在Mianfest.xml檔案中對需要跳轉的Activity進行配置:


<activity android:name="B">
            <intent-filter>
                <action android:name="com.example.alertdalog.intent.action.b"/>
                <category android:name="android.intent.category.DEFAULT"/>
                </intent-filter>
        </activity>

需要注意的是 我們在配置的時候一定要加入category的屬性(隱式intent至少包含"android.intent.category.DEFAULT"(對應CATEGORY_DEFAULT常量)。因此,活動想要接收隱式intent必須要在intent過濾器中包含"android.intent.category.DEFAULT"。),如果沒有加入,運行時候將會出現force close.

另外我們在對在 action中 name可以命名為任意的字串,但是為了方便起見 我們定義name的時候一般
採用的是包名.intent.action.類名

一般我們採用的是在需要傳遞的A.class中
我們為了方便起見可以建立常量
public static final String Action ="name";
StartActivity(new Intent(類名.Action));
***需要注意的是,通過隱式的Intent可以跨應用啟動Activity;如果一個Activity只允許在一個應用內訪問,而不允許跨應用訪問

我們的配置為 在Activity屬性中加入exported="false"此屬性代表的是,即是否可以匯出,
選擇false代表不可以匯出

Android中Intent的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.