从没有代码的应用程序中检索包名称

时间:2013-04-02 17:12:15

标签: android intentfilter

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

最明显的方法是在APP2的某个组件中定义一个intent-filter,例如接收者,活动,活动别名和服务。然后,APP1将查询该特定的intent-filter,然后完成魔术。

然而,APP2只是一个资源包,实际上它的android清单在应用程序会话中声明hasCode="false"。因此,APP2(我认为)不能使用intent-filters放置那些组件。

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

1 个答案:

答案 0 :(得分:0)

我发现,即使您在AndroidManifest.xml中声明了一个活动,也可能无法在app项目中创建相应的java类。该项目编制得很好。

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

如果您尝试使用该intent-filter启动虚拟活动,请注意可能会出现ActivityNotFoundException。

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