使用intent启动应用程序(从设备上安装选择)

时间:2017-07-26 17:13:55

标签: android android-intent launch

我知道如何使用intent和应用程序的包名称启动应用程序。

像这样:

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.google.android.gm");

if (launchIntent != null) {
    startActivity(launchIntent);
}

我想要做的是用户可以选择安装在他/她的设备上的应用程序,而不是特定的应用程序。

我该怎么办?

另外,我想在浮动窗口中打开其他应用程序(如果有可能,可以在自定义警报对话框中或等效)

1 个答案:

答案 0 :(得分:1)

  

我该怎么办?

使用PackageManagerqueryIntentActivities()查找响应标准主屏幕启动器Intent结构(ACTION_MAINCATEGORY_LAUNCHER)的所有活动。将这些呈现给用户(例如,在列表中)。请参阅this sample app

  

我想在浮动窗口中打开另一个应用程序(如果有可能,可以在自定义警报对话框中或等效)

您需要实施自己的移动操作系统。即使Android 7.0的多窗口支持也不支持此功能,除非设备已处于自由形式多窗口模式(例如,Chrome OS)。欢迎您使用FLAG_ACTIVITY_NEW_TASK将活动启动到另一个任务中,这将为自由形式的多窗口设备提供一个单独的窗口。