0

我希望 APP1 动态检索 APP2 的包名,即没有硬编码 APP2 包名。

最明显的方法是在 APP2 的一个组件中定义一个意图过滤器,例如接收器、活动、活动别名和服务。然后,APP1 将查询特定的意图过滤器,然后魔术就完成了。

然而 APP2 只是一个资源包,实际上它的 android 清单hasCode="false"在应用程序会话中声明。所以,APP2(我认为)不能放置带有意图过滤器的组件。

请记住 APP2 不得包含任何代码,有没有办法让 APP1 以编程方式检索 APP2 包名称?

4

1 回答 1

0

我发现,即使您在 AndroidManifest.xml 中声明了一个活动,您也可能不会在应用程序项目中创建相应的 java 类。该项目编译良好。

到目前为止,解决方案是在 AndroidManifest 中创建一个虚拟活动标签,声明一个意图过滤器并使用此过滤器查询此包名称。

意识到如果您尝试使用该意图过滤器启动虚拟活动,您可能会收到 ActivityNotFoundException。

我认为这不是一个优雅的解决方案,但它现在有效。我希望你在这里发布更好的解决方案。

于 2013-04-02T18:00:01.867 回答