android插件化-apkplug从宿主启动插件Activity-06

插件是一个apk文件它存在自己的Activity界面和UI显示,本节将讲解如何配置插件的启动Activity以及怎样从宿主启动它。

一 配置插件apk的对外启动Activity (内部activity不需要配置)

与普通app不同,插件AndroidManifest.xml配置在apkplug框架中是无效的,我们需要在plugin.xml里面配置才能被apkplug所识别

具体设置属性为

Bundle-Activity="xxx.xxx.xxx.Activity"

只有设置为Bundle-Activity的activity才能从宿主中启动,否则将报"无法找到相应类的异常"

二 设置多个外部启动Activity

如果你有多个activity需要从外部启动的话可以用,分割  如

Bundle-Activity="a.b.c,d.e.f,j.q.p"

以上配置了三个activity,可以外部启动通过插件的Bundle.getBundleActivity() 可获取到这个字符串

Bundle.getBundleActivity().split(",")[0] 分割出对应的Activity类

三 启动activity

启动插件activity的方式很多,最简单的是以原生activity启动方式进行启动

Intent i=new Intent();

i.setClassName(mContext, Bundle.getBundleActivity().split(",")[0]);

//必须以此标签启动

i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

mContext.startActivity(i);

四 插件内部activity调用

以android原生方式调用即可.

须要注意的是所有插件activity都只能以  i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);方式启动

OK完成!

官网www.apkplug.com

QQ交流群:132433459

android插件化-apkplug从宿主启动插件Activity-06,布布扣,bubuko.com

时间: 2024-11-25 10:45:01

android插件化-apkplug从宿主启动插件Activity-06的相关文章

插件化技术:宿主访问插件资源

本文同步自wing的地方酒馆 最近在搞插件化,16年很火的东西,我又拖了1年才来研究,哈哈哈,正确下一个热门技术能提前一些吧. 今天想跟大家讨论一下我在研究插件化过程中,遇到的一个容易混淆的点,那就是资源访问. 首先感谢下在插件化道路上的老司机,无私的奉献资料. 看过很多插件化的文章,都提到了一大痛点是资源访问的问题.解决方法很通用,都是通过反射使用 AssetManager 的 addAssetPath 方法,把插件apk路径添加进去.再把系统的resource替换掉,就可以访问到资源了. 这

android插件化-apkplug框架启动-02

本文章基于apkplug v1.6.7 版本编写,最新方式以官网最新消息为准 一 apkplug框架所需要的库文件(宿主) 可从http://git.oschina.net/plug/apkplugSDK  获取最新库文件 同时可下载最新的apkplugdemo源码 http://git.oschina.net/plug/apkplugDemos libs-- --libndkfoo.so   armeabi armeabi-v7a mips x86 --Bundle(版本号).jar 将以上的

android插件化-apkplug框架基本结构-01

由于框架开发更新频繁的原因一直都没有时间写出框架的基本架构让大家云里雾里的,现在框架已基本稳定和完善,我就抽出时间写写关于apkplug框架的基本架构和原理,同时也跟大家一起研究利用apkplug框架玩出更新的功能. 一 apkplug的基本架构 apkplug简单的说是一个容器它将apk文件解析并映射成Bundle ,下文我们简称Bundle为插件.如下图 每一个apk插件被映射到apkplug框架中就是一个Bundle对象,完整路径为 org.osgi.framework.Bundle .通

android插件化-apkplug中OSGI服务基本原理-08

我们提供 apkplug 下OSGI使用demo 源码托管地址为 http://git.oschina.net/plug/OSGIService 一 OSGI与android Service 异同点 OSGI服务与android Service概念差不多也是Service ,Client 关系. android Service接口  --service.AIDL OSGI接口                --java interface 所以android 进程间通信Service只能传递序列

Android插件化开发之Atlas生成插件信息列表

上一篇文章,[Android插件化开发之Atlas初体验]( http://blog.csdn.net/sbsujjbcy/article/details/47446733),简单的介绍了使用Atlas的整个流程,但是如果你没有实践过的话估计还是一头雾水,从这篇文章开始,慢慢的切入细节.这篇文章的主题是生成插件信息列表. 细心的你或许发现了上篇文章中我们使用了一个叫openatlasbundler的项目生成了so以及一个json文件,说白了这个so只不过就是apk重命名的,而这个json文件中包

官宣 | 多多客小程序发布全插件化1.0版,插件市场正式上线

多多客小程序作为青否原班人马打造的小程序第三方平台,结合5年商城系统.近2年小程序SaaS平台研发及运营经验,重点发力小程序个性化和各类营销玩法,联合服务商.开发者.经营专家,共建服务生态,服务百万商家. 多多客小程序于2017年12月8日正式立项,历时8个月于2018年8月17日开启SaaS版公测,市场好评连连,9月4日上线开源版. 在开源版发布的近2个月时间里,我们综合来自开发者.商家等多方面建议,正式推出了多多客插件市场,以及我们全插件化的1.0正式版本. |?插件化 前后端完全分离的项目

Android插件化总结

瓶颈 大多数朋友开始接触这个问题是因为 App 爆棚了,方法数超过了一个 Dex 最大方法数 65535 的上限,因而便有了插件化的概念,将一个 App 划分为多个插件(Apk 或相关格式) 插件化动态加载架构方案会为我们带来多么巨大的收益,除此之外还有诸多好处: 编译速度提升 工程被拆分为十来个子工程之后,Android Studio编译流程繁冗的缺点被迅速放大. 启动速度提升 Google提供的MultiDex方案,会在主线程中执行所有dex的解压.dexopt.加载操作,这是一个非常漫长的

Android插件化开发之OpenAtlas插件启动方式与插件启动广播

到现在为止已经写了6篇文章了 Android插件化开发之OpenAtlas初体验 Android插件化开发之OpenAtlas生成插件信息列表 Android插件化开发之OpenAtlas资源打包工具补丁aapt的编译 Android插件化开发之OpenAtlas插件适配 Android插件化开发之解决OpenAtlas组件在宿主的注册问题 Android插件化开发之OpenAtlas中四大组件与Application功能的验证 这篇文章主要介绍一下OpenAtlas插件的几种启动方式,在Atl

Android Small插件化框架解读——Activity注册和生命周期[阿里工程师分享]

通过对嵌入式企鹅圈原创团队成员degao之前发表的<Android Small插件化框架源码分析>的学习,对Android使用的插件化技术有了初步的了解,但还是有很多需要认真学习的地方,特别是大部分知识都需要结合虚拟机和Androidframwork的原理才能慢慢理解.比如,文中作者提到了插件化框架要解决的三个核心问题: 1)插件类的加载: 2)插件资源的处理: 3)Activity注册和生命周期问题: 其中第3点作者是这样解释的,"大部分插件化框架解决办法都是采用在宿主工程里预先注