如果我的手机安装了 3-4 个家庭(启动器)应用程序,当我按下主页键时,它会显示一个对话框来显示我手机上安装的家庭应用程序,那么我会选择一个作为默认应用程序。我的问题是: 能否通过代码获取默认首页应用的包名?
解决,使用follow api。
public abstract int getPreferredActivities (List<IntentFilter> outFilters, List<ComponentName> outActivities, String packageName)
最佳答案
你看过吗:PackageManager.resolveActivity() ,
Intent intent= new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
ResolveInfo defaultLauncher= getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
String nameOfLauncherPkg= defaultLauncher.activityInfo.packageName;
确保您使用 HOME Intent ,因为显然您将在家中安装启动器。
还没有用过,但你可以用另一个标志试试,即
PackageManager.GET_INTENT_FILTERS
代替
PackageManager.MATCH_DEFAULT_ONLY
FINAL SOLUTION:
API 包管理器,
public abstract int getPreferredActivities (List<IntentFilter> outFilters,List<ComponentName> outActivities, String packageName)
关于android - 如何获取android系统默认家庭应用程序的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15964550/