问题描述
我在测试应用程序上具有此项目结构。
应用程序模块-> API接口模块->动态模块,该模块实现了我的API接口和使用过的第三方API。
在动态模块上,我有一个第三方定义的Activity
。此活动已选中,以确保整个系统中没有其他应用程序注册相同的scheme
。基本上是为了避免两个应用程序使用相同的第三方API密钥。
此检查的代码非常简单:
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.setData(Uri.parse("theirscheme://....."));
PackageManager pm = context.getPackageManager();
List<ResolveInfo> activities = pm.queryIntentActivities(testIntent,0);
在上面的代码中使用动态模块时,activities
的大小为2
。
我通过在Android Studio上使用activities
并取消选中“常规”标签上的动态模块,成功使1
的大小为Edit configuration
。但是然后没有安装该模块,所以我无法访问它。
我不知道一旦使用SplitManager
进行安装后会怎样,我会再次进行两次活动吗?
我目前唯一的解决方案是将Activity
放在App module
清单中,但仅放在此处,但这不是一个好的永久解决方案。
有人对如何处理这种情况有任何建议吗?
谢谢。
编辑:我已经尝试了几种具有不同版本(6,7,10,11)的Android手机,只有配备Android 10的手机似乎有问题。那么也许是Android 10问题?
编辑:我制作了一个简单的示例来显示问题:https://github.com/casolorz/doubleactivityissue
我什至在Android 10模拟器上对其进行了测试。如果有问题,它将显示为2。如果不是,则为1。
我认为这可能是一个错误,但是我不知道是否应该将其提交给Android Studio的错误跟踪器? Android? Google Play核心库?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)