我使用ImoocPluginManager来进行下载与更新,当getUpdatePluginInfo版本对比返回false的时候并不会走到跳转逻辑是什么情况
来源:11-12 插件化全面总结

Zecyn_Cheung
2020-07-08
public Observable<PluginInfo> loadPlugin(@NonNull final String pluginName) {
return fetchPluginInfo(pluginName).flatMap(
new Function<PluginInfo, ObservableSource<HomePluginConfigInfo>>() {
@Override public ObservableSource<HomePluginConfigInfo> apply(PluginInfo info) {
return info == null ? getDownloadPluginInfo(pluginName)
: getUpdatePluginInfo(pluginName, info);
}
}).flatMap(new Function<HomePluginConfigInfo, ObservableSource<File>>() {
@Override public ObservableSource<File> apply(HomePluginConfigInfo homePluginConfigInfo) {
//下载插件
return downloadPlugin(homePluginConfigInfo.mPluginUrl, homePluginConfigInfo.mLocalPath);
}
}).observeOn(Schedulers.io()).flatMap(new Function<File, ObservableSource<PluginInfo>>() {
@Override public ObservableSource<PluginInfo> apply(File file) {
//插件的安装
return installPlugin(file.getAbsolutePath());
}
}).doOnNext(new Consumer<PluginInfo>() {
@Override public void accept(PluginInfo pluginInfo) {
//插件预加载
if (pluginInfo != null) preLoadPlugin(pluginInfo);
}
});
}
写回答
1回答
-
qndroid
2020-07-10
能不能加一些日志或者断点跟进一下,看看哪里出问题了,直接贴源码,看不出问题所在
032020-07-10
相似问题