Android學習之路(四)之 隱式Intent的使用

來源:互聯網
上載者:User
隱式Intent的使用

在上篇文章中寫了關於顯式Intent的使用,這次,寫一下關於隱式Intent的使用。

那麼什麼是隱式Intent。

定義:隱式Intent是沒有明確目標組件名稱的Intent。

那麼隱式Intent有什麼作用呢。

在顯示Intent中,主要的是用於程式本身的Activity、Service、Broadcaster之間的通訊。而隱式Intent主要用於程式與其他不同應用程式之間的通訊。

下面我來舉一個例子:

我們知道,很多手機遊戲在玩的時候都會有分享這個功能,點擊分享之後,就會出現,比如說發送到QQ,什麼什麼微博的。這其實就是用到了隱式Intent的功能。

這次我寫了一個小程式,是這樣的,在當前程式中的主Activity中存在一個按鈕,點擊該按鈕後觸發隱式Intent事件,然後呢。當前程式中還有另一個Activity,在這個Activity中只有一個TextView,在另一個程式中,也有一個Activity,同樣裡面是一個TextView。那麼,當我點擊之後,就會出現類似手遊中點擊分享之後出現的情況。下面看一下截圖:

這裡安卓學習之路_3和安卓學習之路_4是兩個不同的應用程式,當前程式名字叫做安卓學習之路_4,那麼點擊第一個的時候,就會出現如下情況:

如上圖所示,出現了在這個應用程式中的Activity中顯示的文字。那麼點擊另一個的時候就會出現如下情況:

如上圖所示,點擊第二個就會出現本程式中的Activity。

那麼如何?這樣的功能呢。

看一下這個代碼:

public void onClick(View v) {Intent intent = new Intent();intent.setAction("com.android_4.Activity");//intent.addCategory("android.intent.category.DEFAULT");intent.addCategory(Intent.CATEGORY_DEFAULT);startActivity(intent);}

這是該程式中按鈕的點擊事件。裡面是什麼先不講,先看下面的:

上面寫到,分別會跳轉到不同程式中的Activity上,在Activity類中就不多說了。主要看兩個程式中的AndroidManifest.xml,那麼我們要能跳轉到這兩個Activity中,那麼肯定要在這個xml檔案中配置一下Activity,我們來看一下代碼:

<activity android:name="com.example.android_3.Activity03">            <intent-filter >                <action android:name="com.android.Activity"/>                                <category android:name="android.intent.category.DEFAULT"/>            </intent-filter>        </activity>

這是在安卓學習之路_3中的xml配置。

<activity android:name="com.example.android_4.Activity01">            <intent-filter>                <action android:name="com.android.Activity"/>                                <category android:name="android.intent.category.DEFAULT"/>            </intent-filter>        </activity>

這是在安卓學習之路_4中的xml配置。

可以看到,這裡面的action中的android:name是一摸一樣的,並且也和上面的滑鼠點擊時間中的setAction的參數是一樣的,現在來說一下上面setAction,這個方法,是通過參數來找到相同名字的activity。android.intent.category.DEFAULT這個參數是進行隱式Intent的必要。

intent.addCategory(Intent.CATEGORY_DEFAULT);

這一段代碼就是設定一下intent的屬性,其中Intent.CATEGORY_DEFAULT就是上面android.intent.category.DEFAULT這個,兩者是等價的。其實這一段代碼是可加可不加的,因為Intent的預設屬性就是這個。

做完上述操作之後,就能實作類別似於手遊中分享功能了。雖然粗燥了點,但是準系統都差不多。

End~



相關文章

聯繫我們

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