Android 启动器中的双应用

Dual apps in Android launcher

我正在创建一个 Android 启动器。一些用户设置了双应用程序,例如用于工作(例如带有双 SIM 卡的 WhatsApp)。 现在,我想同时显示这些应用程序的默认实例和双重实例,但只显示默认实例(这是有道理的,因为我将所有应用程序按它们的 packageNames 存储在 HashMap 中,并且每个应用程序的 packageName 是唯一的)。我曾尝试寻找一种解决方案来查找应用程序的双实例,但一无所获。

我正在通过 PackageManagerqueryIntentActivities:

查询包裹
PackageManager packageManager = context.getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> allActivities = packageManager.queryIntentActivities(mainIntent, 0);

然后我从所有活动的 ResolveInfo 中检索 packageName 并将其添加到应用程序列表中(如果它不在其中的话)。我怎样才能知道一个应用程序是否有第二个实例应该显示在启动器中?

第三方启动器目前似乎不支持此双应用功能。

我们向用户提议的解决方案是下载类似 Dual Apps, Parallel Space 的应用或任何其他有助于从不同 SIM 卡访问双账户的应用。

希望以后第三方启动器也能自己使用这个双应用功能