今entry模块中跳转到Module中的ability,当中遇到的坑在这里记录一下给大家分享一下
首先新建项目就不介绍如何创建了,直接介绍项目目录中的文件,添加一个名字叫myModule的Module模块,自动创建MatAbility(修改了名称),将其中的文本内容修改为红色,代码和myModule结构如下图
然后再entry中的MainAbilitySlice中设计点击事件,代码如下图
MainAbilitySlice跳转的代码如下
Intent intent=new Intent();
Operation operation = new Intent.OperationBuilder()
.withBundleName(“com.example.dtse”)
.withAbilityName(“com.example.mymodule.MatAbility”)
.build();
intent.setOperation(operation);
startAbility(intent);
这里需要注意的是模块名称,我一开始以为模块名称默认是com.example.dtse,其实是要看mymodule里面的config.json中的bundleName,默认是工程名称,只有匹配了才会跳转成功,不然会报错
到了这一步还是不行会报can not find bundle = com.example.calllog, ability = com.example.okhttpjsonmock.MainAbility
咨询华为官方,官方给了我解决方案
IDE和SDK更新到最新版本,按照下图勾选下面两个配置后再运行应用。
重启IDE,再运行项目就搞定了。