我阅读了这个问题和另一个问题,我了解如何从另一个应用程序启动一个应用程序(让我们称之为另一个应用程序LauncherApplication)。然而,我的目标不仅仅是启动一个应用程序,而是使用它的功能,所以我认为LauncherApplication应该使用一个意图(显式或隐式)启动一个活动。
我应该知道已安装的应用程序所响应的数据和操作,并且我应该在启动意图实例之前将这些信息添加到意图实例中。我希望LauncherApplication允许用户(而不是开发人员)配置此意图,但我如何提前知道为已安装应用程序设置意图的参数?
我应该实现“LauncherApplication* 以允许用户通过图形界面构建一个意图。或者我可以让我的应用程序支持插件的添加:通过这种方式,我可以为每个已安装的应用程序创建一个插件,其中每个插件可以负责管理有关与其关联的应用程序的意图配置。
更新(添加详细信息)。特别是,LauncherApplication应该是启用了语音识别器的服务,因此用户可以启动应用程序并说出特定的关键字:除了启动应用程序之外,用户还应该能够关闭它并使用它的功能。
例如,我可以安装一个应用程序((我们称之为LibraryApp)来搜索图书馆中的可用书籍;这个应用程序可以具有以下功能:
- 搜索一本书(如果该书可用、已被借出或已被其他人预订,此功能可能会返回)。
- 预订一本书(此函数应返回预订完成)。
这样,例如,当我发音“start LibraryApp”时,LauncherApplication服务应该启动LibraryApp应用程序。启动应用程序后,服务应该能够向其发送命令以使用其中一个可用功能(搜索书籍、预订书籍)。
如何向已经处于活动状态的应用程序发送命令以对其进行控制?