在意图过滤器操作名称中使用应用程序名称

问题描述:

我正尝试在AndroidManifest.xml中用几个意图过滤器创建一个BroadcastReveiver。我需要使用应用程序名称作为操作名称的一部分。例如:在意图过滤器操作名称中使用应用程序名称

<receiver android:name=".SomeBroadcastReceiver"> 
    <intent-filter> 
     <action android:name="<app_name>.SOME_ACTION" /> 
    </intent-filter> 
</receiver> 

我敢肯定这是不可能做到这一点,但我希望有一些其他的方式做这样的事情?

我可以在Application类中注册接收者,但当应用程序进程不是不活动时,它不会继续监听。只要安装了应用程序,是否有任何方法可以收听这些操作?

+0

嗨,有没有使用String的任何问题为什么?例如“com.example.Appname” – wnieves19

+0

几个产品使用相同的清单文件,而需要监听“com.example.App1.ACTION”的其他需要监听“com.example.App2.ACTION”。看起来像唯一的解决方案是覆盖每个应用程序的清单文件。 – iamkaan

假设“应用程序名称”,也就是Android开发是指作为应用程序ID(或旧的“包名”一词),使用manifest placeholders

<action android:name="${applicationId}.SOME_ACTION" /> 
+0

我实际上是指应用程序名称,但程序包名称听起来像是一个更好的解决方案。它的工作,谢谢! – iamkaan