android隐式intent使用场景解析
来源:互联网 发布:诺基亚e63怎么下载软件 编辑:程序博客网 时间:2024/05/21 09:36
Android 隐式intent相信大家都有用过,大部分场景我们用显式intent已经能满足我们的业务需求,隐式intent大部分都是用来启动系统自带的Activity或Service之类的组件。昨天有个业务场景就是,module app依赖于第三方依赖库module library,我在module library里面有个Activity A,现在需要在Activity A里面启动 module app里面的Activity B。一般的解决方法是:让module library依赖于module app,这样library就能找到app里面的Activity B,可是这样就变成了双向依赖,显然是不可能的。我想了一下,可以用隐式intent来实现这个功能,而且实现代码最简洁,不用修改或添加其他代码。
<intent-filter>是隐式intent必须的,其中<action android:name>属性是自定义的,写什么都可以,最好是自己的项目名,<category >属性使用默认的 <category android:name="android.intent.category.DEFAULT" />。
注册Activity完成了,现在可以在module library里的Activity A启动module app里的Activity B了。
代码如下:
隐式intent很简单,首先要在 module app的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完成了,现在可以在module library里的Activity A启动module app里的Activity B了。
代码如下:
//这里用到了隐式意图,来启动app库里面的activity Intent intent = new Intent(); intent.setAction("com.demoBActivity.action"); intent.addCategory("android.intent.category.DEFAULT"); startActivity(intent);action写我们AndroidManifest注册的action即可。
这样即可实现在被依赖的module libray里面启动主module app中的Activity或其他组件。实现了module之间代码的解耦
本文转载自http://www.cnblogs.com/xjx22/p/5551034.html
阅读全文
0 0
- android隐式intent使用场景解析
- android Intent 常见用法和使用场景
- Android的Intent的使用场景
- Android如何解析Intent
- Android如何解析Intent
- android intent深入解析
- android Intent用法解析
- Android如何解析Intent
- Android Intent解析
- android Intent解析
- Android Intent全面解析
- Android Intent匹配解析
- Android:Intent全面解析
- Android 进阶15:HandlerThread 使用场景及源码解析
- Android android.intent.category解析
- Android android.intent.category解析
- Android android.intent.category解析
- Android如何解析Intent Filter
- 42 WebGL的插件Matrix插件的相关方法
- 开通博客了,用第一篇文章纪念一下。
- senology这个词啥意思?
- Interpolator插值器详解
- Web开发者必知的25个Apache性能优化技巧-程序员技术浅谈
- android隐式intent使用场景解析
- 设计模式-职责链模式
- C++ 创建虚拟桌面
- Qt图片浏览器 --基于Qt的Graphics View Framework
- bzoj 1002: [FJOI2007]轮状病毒
- H5游戏的国民基础及喜爱程度
- 可变参数列表
- KVM虚拟机显卡直通(Ubuntu 14.04)
- 一些还不错的开源项目