您好,欢迎来到微智科技网。
搜索
您的当前位置:首页android intent隐式调用之一个应用程序启动另一个应用程序

android intent隐式调用之一个应用程序启动另一个应用程序

来源:微智科技网

  

理解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>

转载于:https://my.oschina.net/aowu/blog/26318

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务