在Android中,如果我使用隱式意圖從應用程序發送意圖,並且有兩個服務具有匹配的意圖過濾器,哪個服務將被調用?Android多服務匹配意圖
我知道的活動,用戶將被要求通過彈出窗口的選擇。 Android如何在服務中做出決定?
謝謝。
在Android中,如果我使用隱式意圖從應用程序發送意圖,並且有兩個服務具有匹配的意圖過濾器,哪個服務將被調用?Android多服務匹配意圖
我知道的活動,用戶將被要求通過彈出窗口的選擇。 Android如何在服務中做出決定?
謝謝。
報價myself:
另外,如果有要求,支持安裝在設備上的兩個(或更多)的服務發生了什麼相同的
<intent-filter>
,但有不同的包名稱?您可能會認爲這會在安裝時失敗,就像使用重複權限的提供商那樣。唉,事實並非如此。相反,再一次,「贏」的第一個。所以,如果我們有
BadService
和GoodService
,既響應相同<intent-filter>
,和客戶端應用程序試圖通過明確意圖匹配的是<intent-filter>
,它實際上可能與BadService
溝通,簡單地傳達給GoodService
因爲BadService
安裝第一。用戶無視這一點。
這個故事的道德:不要使用隱含Intents
與服務。
他們會考慮優先級:
<intent-filter android:icon="drawable resource"
android:label="string resource"
android:priority="integer" >
. . .
</intent-filter>
那麼基本上它的安裝順序是? – Jake
這與服務有關,但現在我也很好奇Android中是否還有其他類似的情況。你知道其他人嗎? – Jake
@Jake:實際上,我應該鏈接到[稍後的博客文章](http://commonsware.com/blog/2013/11/07/troubling-tale-android-priority.html)。第一個決勝者是'android:priority',儘管這是沒有記錄的服務。安裝順序是第二個決勝盤。在這方面,服務有點像有序的廣播,第一個接收者總是中止廣播。 – CommonsWare