ModularizationArchitecture icon indicating copy to clipboard operation
ModularizationArchitecture copied to clipboard

相同moudle被不同主app调用@Provider的processName

Open wuweixiang2018 opened this issue 7 years ago • 16 comments

相同moudle被不同主app调用@Provider的processName的不一样,这个怎么写啊

wuweixiang2018 avatar Jan 24 '18 11:01 wuweixiang2018

你这个我没有太理解,能举个具体点的例子吗

SpinyTech avatar Jan 25 '18 03:01 SpinyTech

比如我有个im(及时通讯)的moudle,需要同时在病人端APP(进程名cn.dreamplus.wentang),医生端APP(进程名cn.dreamplus.wentangdoctor),调用im moudle,im里面的@Provider的processName声明成cn.dreamplus.wentang:im,那么医生端不能正常访问

wuweixiang2018 avatar Jan 25 '18 03:01 wuweixiang2018

目前不支持跨app访问moudle。你必须在你的医生端和病人端各拥有一个im moudle,才能正常使用。

SpinyTech avatar Jan 25 '18 03:01 SpinyTech

嗯,这样就不适合我实际的使用场景了,封装SDK,主要也是为了多个app可以共用

wuweixiang2018 avatar Jan 25 '18 03:01 wuweixiang2018

逻辑共用是可以的,只不过是病人端调用病人端的im moudle,医生端调用医生端的im moudle。进程共用目前不支持。

2018-01-25 11:40 GMT+08:00 wuweixiang2018 [email protected]:

嗯,这样就不适合我实际的使用场景了,封装SDK,主要也是为了多个app可以共用

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/SpinyTech/ModularizationArchitecture/issues/23#issuecomment-360351719, or mute the thread https://github.com/notifications/unsubscribe-auth/AShVRvFrbM5sKcuefGM6S_PLaFzh-4Ltks5tN_e1gaJpZM4RrHYz .

SpinyTech avatar Jan 25 '18 04:01 SpinyTech

@Provider和@Action病人端和医生端需要分别写,其他的代码共用,是指这样吧?

wuweixiang2018 avatar Jan 25 '18 04:01 wuweixiang2018

不是的,你的im写成一个lib module,对外提供provider和action。 在病人端和医生端的app module中,分别对这个provider和action进行注册就行了。

你的im应该是在:im进程内部,只要前缀package不以这样,就是能找到provider和action的。

SpinyTech avatar Jan 25 '18 06:01 SpinyTech

你的im写成一个lib module,对外提供provider和action,比如@Provider的processName我怎么写啊?在病人端和医生端的app module中,分别对这个provider和action进行注册就行了,注册的时候分别怎么写啊?

wuweixiang2018 avatar Jan 25 '18 06:01 wuweixiang2018

在你对应进程的ApplicationLogic的onCreate中,调用 LocalRouter.getInstance(mApplication).registerProvider("im",new IMProvider());

SpinyTech avatar Jan 25 '18 06:01 SpinyTech

@Provider的processName我怎么写?

wuweixiang2018 avatar Jan 25 '18 06:01 wuweixiang2018

/**

  • Created by wuweixiang on 18/1/3. */ @Provider(processName = IMGlobal.PACKAGE_NAME) public class IMProvider extends MaProvider { @Override protected String getName() { return "im"; } } 就是这个processName怎么写

wuweixiang2018 avatar Jan 25 '18 06:01 wuweixiang2018

AndroidManifest.xml文件里面的service怎么写?

wuweixiang2018 avatar Jan 25 '18 06:01 wuweixiang2018

能否把几个关联环节怎么写,都给个例子啊,谢谢

wuweixiang2018 avatar Jan 25 '18 06:01 wuweixiang2018

ProviderInit.init(mProviderMap, mActionMap);我还碰到ProviderInit找不到,我已经按照文档操作了

wuweixiang2018 avatar Jan 25 '18 07:01 wuweixiang2018

你这个不是我的代码啊。我的代码Provider都是手工注册的。 LocalRouter.getInstance(mApplication).registerProvider("main",new MainProvider());

SpinyTech avatar Jan 25 '18 08:01 SpinyTech

我下载的代码,demo里面的代码是靠注解的啊

wuweixiang2018 avatar Jan 26 '18 01:01 wuweixiang2018