如何在android 2.3及更高版本中获取当前启动器的包名?

Har*_*der 30 java android launcher

如何在Java中以编程方式获取android 2.3及更高版本中当前启动程序的包名?

Jes*_*eke 64

我认为您应该能够将HomeManager.resolveActivity()与home intent一起使用.

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;
Run Code Online (Sandbox Code Playgroud)

  • 如果没有选择"默认"启动器,它只返回"android".不是常见的情况,但它发生了. (4认同)
  • 是的,这是用于说明解决方案的说明性代码,不应按原样用于“生产”用途。此外,如果您的手机没有家庭应用程序...您可能还会遇到其他问题:) (2认同)