2012-04-27 8 views

Odpowiedz

56

Myślę, że powinieneś być w stanie użyć PackageManager.resolveActivity(), z intencją domu.

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_HOME); 
ResolveInfo resolveInfo = getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY); 
String currentHomePackage = resolveInfo.activityInfo.packageName; 
+0

Dziękuję, to działa ładnie. – HardCoder

+4

Jeśli nie ma wybranego "domyślnego" programu uruchamiającego, zwraca tylko "android". Nie jest to zwykły przypadek, ale się zdarza. – auval

+1

Pamiętaj, że zwróci wartość NULL, jeśli nie będzie pasować, a otrzymasz NPE w ostatniej linii! – JacksOnF1re

Powiązane problemy