集成步骤
第 1 步:添加 RePlugin Plugin Gradle 依赖
在项目根目录的build.gradle(注意:不是 app/build.gradle)中添加 replugin-plugin-gradle依赖:
buildscript {
dependencies {
classpath 'com.qihoo360.replugin:replugin-plugin-gradle:2.3.3'
}
}
第2 步:添加 RePlugin Plugin Library 依赖
在app/build.gradle中应用 replugin-plugin-gradle插件,并添加 replugin-plugin-lib依赖:
apply plugin: 'replugin-plugin-gradle'
repluginPluginConfig {
pluginName = "当前插件名称"
hostApplicationId = " com.jtv.replugin"
hostAppLauncherActivity = "com.jtv.replugin.MainActivity"
}
dependencies {
implementat 'com.qihoo360.replugin:replugin-plugin-lib:2.3.3'
}
第3步:在清单文件中,注册插件名称
<meta-data
android:name="com.qihoo360.plugin.name"
android:value="设置的插件名" />
第4步:跳转宿主中的地图页面
String longitude=SharedPrefUtils.get(RePlugin.getHostContext(),"longitude", "");
String latitude= SharedPrefUtils.get(RePlugin.getHostContext(),"latitude", "");
Intent intent = new Intent();
intent.setComponent(new ComponentName(RePlugin.getHostContext().getPackageName(), "com.jtv.maplibrary.LocationActivity"));
intent.putExtra("latitude","latitude);
intent.putExtra("longitude",longitude);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MainActivity.this.startActivity(intent);
二、插件使用注意事项:
1、插件中共享数据(如:布局文件、公共方法、string等值定义)以jar的方式放在每一个插件中。
2、插件中调用宿主中的上下文:RePlugin.getHostContext()
3、SharedPrefUtils工具类,可以获取宿中保存的信息
例如:插件中获取登录信息
String userInfo = SharedPrefUtils.get(RePlugin.getHostContext(), "userInfo", "");
4、插件中跳转宿主:
Intent intent = new Intent();intent.setComponent(new ComponentName(RePlugin.getHostContext().getPackageName(),"com.qihoo360.replugin.sample.host.MainActivity"));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);MainActivity.this.startActivity(intent);
5、插件间互相跳转
Intent intent = new Intent();intent.setComponent(new ComponentName("demo2", "com.qihoo360.replugin.sample.demo2.activity.for_result.ForResultActivity"));MainActivity.this.startActivityForResult(intent, REQUEST_CODE_DEMO2);
6、插件安装和卸载,必须重启杀死进程,清除缓存。