在意图过滤器操作名称中使用应用程序名称
问题描述:
我正尝试在AndroidManifest.xml中用几个意图过滤器创建一个BroadcastReveiver。我需要使用应用程序名称作为操作名称的一部分。例如:在意图过滤器操作名称中使用应用程序名称
<receiver android:name=".SomeBroadcastReceiver">
<intent-filter>
<action android:name="<app_name>.SOME_ACTION" />
</intent-filter>
</receiver>
我敢肯定这是不可能做到这一点,但我希望有一些其他的方式做这样的事情?
我可以在Application类中注册接收者,但当应用程序进程不是不活动时,它不会继续监听。只要安装了应用程序,是否有任何方法可以收听这些操作?
答
假设“应用程序名称”,也就是Android开发是指作为应用程序ID(或旧的“包名”一词),使用manifest placeholders:
<action android:name="${applicationId}.SOME_ACTION" />
+0
我实际上是指应用程序名称,但程序包名称听起来像是一个更好的解决方案。它的工作,谢谢! – iamkaan
嗨,有没有使用String的任何问题为什么?例如“com.example.Appname” – wnieves19
几个产品使用相同的清单文件,而需要监听“com.example.App1.ACTION”的其他需要监听“com.example.App2.ACTION”。看起来像唯一的解决方案是覆盖每个应用程序的清单文件。 – iamkaan