我希望APP1动态检索APP2的包名,即没有硬编码的APP2包名。
要做到这一点,最明显的方法是在APP2的一个组件中定义一个意图过滤器,例如接收器、活动、活动别名和服务。然后,APP1将查询特定的意图过滤器,然后魔术就完成了。
然而,APP2只是一个资源包,实际上它的android清单在应用程序会话中声明了hasCode="false"。因此,APP2 (我认为)不能使用意图过滤器来放置组件。
记住APP2不能包含任何代码,有没有一种方法可以通过APP1以编程方式检索APP2包名称?
发布于 2013-04-03 02:00:02
我发现,即使在AndroidManifest.xml中声明了一个活动,也不能在应用程序项目中创建相应的java类。项目编译得很好。
到目前为止,解决方案是在AndroidManifest中创建一个虚拟活动标记,声明一个意图过滤器,并使用这个过滤器查询这个包名。
请注意,如果您尝试使用该意图过滤器启动虚拟活动,则可能会得到ActivityNotFoundException。
我认为这不是一个优雅的解决方案,但目前它是有效的。我希望你在这里发布更好的解决方案。
https://stackoverflow.com/questions/15770149
复制相似问题