我知道如何使用intent和应用程序的包名称启动应用程序。
像这样:
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.google.android.gm");
if (launchIntent != null) {
startActivity(launchIntent);
}
我想要做的是用户可以选择安装在他/她的设备上的应用程序,而不是特定的应用程序。
我该怎么办?
另外,我想在浮动窗口中打开其他应用程序(如果有可能,可以在自定义警报对话框中或等效)
答案 0 :(得分:1)
我该怎么办?
使用PackageManager
和queryIntentActivities()
查找响应标准主屏幕启动器Intent
结构(ACTION_MAIN
和CATEGORY_LAUNCHER
)的所有活动。将这些呈现给用户(例如,在列表中)。请参阅this sample app。
我想在浮动窗口中打开另一个应用程序(如果有可能,可以在自定义警报对话框中或等效)
您需要实施自己的移动操作系统。即使Android 7.0的多窗口支持也不支持此功能,除非设备已处于自由形式多窗口模式(例如,Chrome OS)。欢迎您使用FLAG_ACTIVITY_NEW_TASK
将活动启动到另一个任务中,这将为自由形式的多窗口设备提供一个单独的窗口。