2

我正嘗試在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

回答

4

假設「應用程序名稱」,也就是Android開發是指作爲應用程序ID(或舊的「包名」一詞),使用manifest placeholders

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

我實際上是指應用程序名稱,但程序包名稱聽起來像是一個更好的解決方案。它的工作,謝謝! – iamkaan

相關問題