2014-05-24 445 views
0

所以,如果你沒有注意到。許多新的啓動器可讓您選擇要啓動的應用程序作爲特定類別的默認應用程序。以編程方式啓動用戶選擇的應用程序

我的啓動器由顯示卡片的不同片段組成,這些卡片具有一個按鈕,該按鈕有一個功能,當用戶觸摸按鈕時,會提示他們一個窗口,他們可以選擇要爲該特定視圖運行哪個應用程序。爲了讓用戶更容易,他們選擇的意圖或應用程序應該被保存,所以如果他們再次選擇按鈕,他們不必再次選擇應用程序。

如果您想了解我的意思,請查看9張桌面啓動器或智能啓動器或任何Windows 7手機啓動器。他們會提示您一個小彈出窗口,讓您選擇要運行的應用程序及其集合。

我該如何做到這一點?請我到處搜索,但沒有意義。這裏沒有教程,我也反編譯了各種發射器,看看它是如何工作的,但我不知道從哪裏開始。

如果你能幫忙,那會很棒。

回答

0

您首先需要獲取安裝的應用程序。

然後,您將從用戶選擇的應用程序中獲取應用程序包信息。

最後啓動意圖。

這裏就是你可以嘗試:

  1. action=MAINcategory=LAUNCHER
  2. 創建一個意圖使用Get從當前上下文的PackageManagercontext.getPackageManager
  3. packageManager.queryIntentActivity(<intent>, 0)其中意圖有category=LAUNCHERaction=MAINpackageManager.resolveActivity(intent, 0)以獲得主要/發射器的第一個活動
  4. 獲取你感興趣的
  5. ActivityInfoActivityInfo,得到packageNamename
  6. 最後,創建另一個意圖與category=LAUNCHERaction=MAINcomponentName = new ComponentName(packageName, name)setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
  7. 最後,context.startActivity(newIntent)

我也建議看看FreeTaskManager

相關問題