您可以从PackageManager获取首选活动列表.使用
getPreferredActivities()方法.
boolean isMyLauncherDefault() {
final IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN);
filter.addCategory(Intent.CATEGORY_HOME);
List filters = new ArrayList();
filters.add(filter);
final String myPackageName = getPackageName();
List activities = new ArrayList();
final PackageManager packageManager = (PackageManager) getPackageManager();
// You can use name of your package here as third argument
packageManager.getPreferredActivities(filters, activities, null);
for (ComponentName activity : activities) {
if (myPackageName.equals(activity.getPackageName())) {
return true;
}
}
return false;
}
本文详细介绍了如何使用Android的PackageManager的getPreferredActivities()方法来获取用户的首选活动列表,特别是检查当前应用是否被设置为默认启动器。通过遍历返回的Activity列表并对比包名,可以判断应用是否被设定为Home应用。

被折叠的 条评论
为什么被折叠?



