android隐式intent使用场景解析
Posted xjxmars
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android隐式intent使用场景解析相关的知识,希望对你有一定的参考价值。
android 隐式intent相信大家都有用过,大部分场景我们用显式intent已经能满足我们的业务需求,隐式intent大部分都是用来启动系统自带的Activity或Service之类的组件。昨天有个业务场景就是,我在第三方依赖库 module A里面有个Activity A,现在需要在Activity A里面启动 module app里面的Activity B,我想了一下,可以用隐式intent来实现这个功能,而且实现代码最简洁,不用修改或添加其他代码。
隐式intent很简单,首先要在AndroidManifest.xml里面注册Activity B,代码如下:
<activity android:name="com.xjx.demo.home.BActivity" android:screenOrientation="portrait"> <intent-filter> <action android:name="com.demoBActivity.action" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
<intent-filter>是隐式intent必须的,其中<action android:name>属性是自定义的,写什么都可以,最好是自己的项目名,
<category >属性使用默认的 <category android:name="android.intent.category.DEFAULT" />。
注册Activity完成了,现在可以启动Activity了。
代码如下:
//这里用到了隐式意图,来启动app库里面的activity Intent intent = new Intent(); intent.setAction("com.demoBActivity.action"); intent.addCategory("android.intent.category.DEFAULT"); startActivity(intent);
action写我们AndroidManifest注册的action即可。
这样即可实现在一个module里面启动另一个 module中的Activity或其他组件。实现了module之间代码的解耦。
以上是关于android隐式intent使用场景解析的主要内容,如果未能解决你的问题,请参考以下文章
2016.03-04 学习笔记-Android中隐式Intent 的使用