0
我試圖以編程方式從應用程序抽屜中添加和刪除應用程序快捷方式。我知道應用程序抽屜通過使用LAUNCHER類別的意圖過濾器知道應該呈現哪些應用程序。添加/刪除應用程序抽屜快捷方式
我希望能夠根據動態條件在我的應用程序中爲特定活動添加/刪除快捷方式,這就是爲什麼我無法將它們簡單地放在我的清單文件中。
謝謝。
我試圖以編程方式從應用程序抽屜中添加和刪除應用程序快捷方式。我知道應用程序抽屜通過使用LAUNCHER類別的意圖過濾器知道應該呈現哪些應用程序。添加/刪除應用程序抽屜快捷方式
我希望能夠根據動態條件在我的應用程序中爲特定活動添加/刪除快捷方式,這就是爲什麼我無法將它們簡單地放在我的清單文件中。
謝謝。
據我所知,這是不可能的。不幸的是,在當前的Android API級別下,無法通過代碼將IntentFilter
s添加到Activity
對象。檢查意向過濾器上的this doc。相關報價:
意圖過濾器是IntentFilter類的一個實例。但是,由於Android系統在啓動該組件之前必須瞭解組件的功能,因此意圖過濾器通常不是在Java代碼中設置的,而是在應用程序的清單文件(AndroidManifest.xml)中設置爲元素。 (一個例外將是通過調用Context.registerReceiver()動態註冊的廣播接收器的過濾器;它們直接創建爲IntentFilter對象。)
是的,我意識到看起來我們無法改變意圖過濾器。但是,活動確實具有啓用的屬性,並且PackageManager的setComponentEnabledSetting方法具有COMPONENT_ENABLED_STATE_DISABLED標誌。所以,它似乎應該工作。但是 - 它沒有。有任何想法嗎? – 2011-02-24 08:28:00