1

我是新來的android。並且在我開發一個適用於Android的應用程序的過程中,該應用程序已經集成了FireBaseCloud。如果我們查看爲FireBaseMessaging服務設置客戶端應用程序的文檔,它會告訴您如下在清單中註冊兩項服務。FireBaseCloud如何啓動在清單中註冊的服務?

<service 
android:name=".MyFirebaseMessagingService"> 
<intent-filter> 
    <action android:name="com.google.firebase.MESSAGING_EVENT"/> 
</intent-filter> 

<service 
android:name=".MyFirebaseInstanceIDService"> 
<intent-filter> 
    <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/> 
</intent-filter> 

這些都是在清單中註冊的兩項服務。我的問題是android系統如何啓動這些服務?我知道這兩個服務都有指定操作的意圖過濾器,但是如果有多個應用程序註冊並實現這兩個服務會怎麼樣。 Firebase如何從雲端發送通知,Android系統收到該通知並專門提供給我的應用程序? (我在「MyFirebaseMessagingService」服務中獲取消息並從中發送通知)。 請闡明這一點,以幫助我瞭解它。

回答

1

您添加到清單中的服務是由設備啓動時啓動的Google Play服務啓動的。這些服務也在您的應用程序包名稱下定義,因此其他應用程序將無法偵聽用於您的應用程序的通知。

+0

好吧,在我們有包名和服務註冊的所有情況下,我們可以通過特定的意圖啓動它們?請讓我知道我是否正確。 我接受了你的答案,因爲我做了一些閱讀,你的答案似乎是正確的。 –

+0

這取決於,如果它們在您的應用程序中,那麼您可以隨時啓動它們,如果它們不在您的應用程序中,那麼只有在擁有應用程序導出它們時才能啓動它們。 –

+0

等服務默認導出?因爲在這種情況下,我沒有使用'exported = true'屬性,仍然可以通過谷歌播放服務訪問Firebase服務。 –

相關問題