2013-08-16 24 views
0

如何在Android應用中顯示Android中的特定主屏幕。例如,在我的應用上按下主頁按鈕,我想顯示一個特定的主屏幕。由於可能有多個主屏幕,所以希望操作系統能夠顯示特定的主屏幕。如何在Android中顯示特定的主屏幕?

以及如何從android應用程序配置主屏幕的數量?

請讓我知道,如果任何人有同樣的想法。

謝謝。

回答

1

由於主屏幕不過是另一個應用程序,安裝了一個在清單中聲明瞭android:name="android.intent.category.HOME"屬性的活動,以獲取所有主屏幕的列表 - 您只需要執行query packgage manager即可獲取具有此屬性的所有軟件包的列表:

Intent intent = new Intent(Intent.ACTION_HOME, null); 
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
List pkgHomeAppsList = getPackageManager().queryIntentActivities(intent , 0); 

你能得到它的大小 - 當然與pkgHomeAppsList.count();

此外,你可以選擇包從列表中的每一個,並啓動它是這樣的:

Intent launchIntent = getPackageManager().getLaunchIntentForPackage(packageInfo.packageName)); 
launchIntent.addFlag(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(launchIntent); 

例如在按下我的應用程序的home鍵,我想展現一個特定的主屏幕

你無法控制它的主屏幕會在用戶按下home鍵啓動。只有用戶通過選擇意向選擇器中可用的選項。 除非你運行你已解鎖裝置應用..

我要說的是,它在某種程度上可以開展的活動,因爲我的反應,home鍵點擊則顯示,但這一事件不能從沒有系統的應用程序截獲簽名,所以你可以忘記這一點。

即使您設法以某種方式來做到這一點 - 我必須警告您,啓動這樣的主屏應用程序是一種非常糟糕的方法。除非你有很好的理由(例如 - 如果你的應用程序設計爲針對特定公司的ciosk模式或類似的東西),你不會想要從用戶那裏獲得這個能力。