Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android intent隱式調用之一個應用程序啟動另一個應用程序

android intent隱式調用之一個應用程序啟動另一個應用程序

編輯:關於Android編程

理解Intent的關鍵之一是理解清楚Intent的兩種基本用法:一種是顯式的Intent,即在構造Intent對象時就指定接收者,這種方式與普通的函數調用類似;另一種是隱式的Intent,即Intent的發送者在構造Intent對象時,並不知道也不關心接收者是誰,這種方式與函數調用差別比較大,有利於降低發送者和接收者之間的耦合。另外Intent除了發送外,還可用於廣播.

顯示調用 1.Intent intent = new Intent(); intent.setClass(A.this,B.class); //intent.setClassName("com.view","com.view.B");前者是A的包名,後者是B的代包類名

startActivity(Intent);

隱式調用:private static String MY_ACTION = "com.view.my_action";

              Intent intent = new Intent();  intent.setAction(MY_ACTION);

               或者// Intent intent = new Intent(MY_ACTION);

                startActivity(Intent);

隱式調用注意不只是在AndroidManifest.xml文件中聲明,還要加上intent-filter

在B類的activity中加上:

<intent-filter>

    <action android:name="com.view.my_action"/>  <!-- 自定義 -->

</intent-filter>

加上這句話就可以跳轉到B類了

如果是想啟動另外一個應用程序,如B類是在另外一個應用程序的入口,在其activity中再另外加上一個intent-filter

<activity android:name=".B" android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

<intent-filter>

<action android:name="com.view.my_action"/>

                                <action android:name="android.intent.action.DEFAULT" />

<category android:name="android.intent.category.DEFAULT" />

</intent-filter>

</activity>

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved