我正在創建一個可以由服務控制的簡單應用程序。爲了控制這種應用,服務必須知道可以發送給它的命令,所以我認爲這應該是給這些命令的列表中的應用,具體如下:如何發送支持意圖列表?
- 應用程序可能有輔助活動迴應
MY_ACTION_GET_COMMANDS
意圖(所以我應該在「AndroidManifest.xml」文件中定義意圖過濾器)。 - 該服務知道他可以使用
startActivityForResult
方法發送這種類型的意圖。 - 當應用程序收到此類意圖時,相應的活動通過發送支持的命令列表(即意向列表)來響應發件人。
如何發送支持的意圖列表?
UPDATE:請注意,應用程序和服務位於不同的包中。
_我不知道我明白你爲什麼需要展示這些意圖的活動。這是真實用戶會看到的東西嗎?_服務的用戶應該能夠將一個命令(一個簡單的字符串,例如「寫入」,「保存到文件」)關聯到每個支持的意圖應用。應用程序與服務分離(它們是不同軟件包的一部分)。該服務包括一個語音識別器,然後用戶可以發出命令來控制應用程序。 – enzom83 2012-04-27 10:44:04
那麼,它要麼使用PackageManager獲取它們(甚至可以從服務應用程序中完成),要麼只是從遠程應用程序返回一個漂亮的列表(帶有人類可讀的描述)。您可以使用活動或使用內容提供程序查詢原始數據(這是相當重量級的IMO,但如果您還想寫狀態更改,可能會有用)... – EvilDuck 2012-04-27 10:49:43
'PackageInfo pi = pm.getPackageInfo(「org.example 「,PackageManager.GET_RECEIVERS); (ActivityInfo ai:pi.receivers){ // Where intent filters? }' – enzom83 2012-04-27 11:28:01