2015-09-11 51 views
0

什麼API調用可以確定哪個應用是家庭應用?還有它是否只設置了一次,還是一直設置?我認爲你不能通過api更改此設置,但有沒有辦法檢查應用程序已設置?檢查哪個應用設置爲家庭活動

+0

解釋一下你的意思是在家裏做應用? –

+0

我的回答對你有幫助嗎,@MuayThai?如果是這樣,請接受它。如果沒有,讓我現在讓你感到困擾。 –

回答

0

您可以創建一個意圖啓動家庭活動(ACTION_MAINCATEGORY_HOME),然後檢查一下系統決定使用它:

// Intent to launch home activity. 
Intent i = new Intent(Intent.ACTION_MAIN); 
i.addCategory(Intent.CATEGORY_HOME); 

PackageManager pm = getPackageManager(); 
final ResolveInfo info = pm.resolveActivity(i, 0); 
Toast.makeText(this, "Homescreen application: " + pm.getApplicationLabel(info.activityInfo.applicationInfo), Toast.LENGTH_LONG).show(); 

在我的情況下,這顯示「主頁應用:新星啓動」 。這是設置爲「始終」的家庭活動。沒有辦法檢查用戶按下了「一次」按鈕的應用程序,因爲這隻會影響當時開始的活動(它不會被存儲)。

0

有了這個代碼

Intent i = new Intent(Intent.ACTION_MAIN); 
i.addCategory(Intent.CATEGORY_HOME); 

PackageManager pm = getActivity().getPackageManager(); 
for(final ResolveInfo resolveInfo:pm.queryIntentActivities(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME), PackageManager.MATCH_DEFAULT_ONLY)) 
{ 
    Toast.makeText(getActivity(), "Homescreen application: " + pm.getApplicationLabel(resolveInfo.activityInfo.applicationInfo), Toast.LENGTH_LONG).show(); 
} 

你可以得到所有的主屏幕應用

相關問題